home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 8 / Revista CD Expert nº 08 CD1.iso / Utilitarios / Programacao / Pacific C for DOS / HELP / ERR.REF < prev    next >
Text File  |  1995-03-08  |  111KB  |  2,614 lines

  1. INDEX 584 13 C Compiler Error Reference
  2. 22 3 #define syntax error
  3. 217 2 #elif may not follow #else
  4. 337 3 #elif must be in an #if
  5. 535 1 #else may not follow #else
  6. 615 1 #else must be in an #if
  7. 671 3 #error: *
  8. 846 3 #if ... sizeof() syntax error
  9. 1038 2 #if ... sizeof: bug, unknown type code *
  10. 1199 3 #if ... sizeof: illegal type combination
  11. 1383 2 #if bug, operand = *
  12. 1543 3 #if sizeof() error, no type specified
  13. 1762 3 #if sizeof, unknown type *
  14. 1931 3 #if value stack overflow
  15. 2142 3 #if, #ifdef, or #ifndef without an argument
  16. 2350 7 #include syntax error
  17. 2727 2 '.' expected after '..'
  18. 2875 2 '.' not followed by 'w' or 'b'
  19. 3030 4 '=' expected after lle
  20. 3166 4 '=' expected after p
  21. 3291 3 'case' not in switch
  22. 3470 4 'default' not in switch
  23. 3649 2 ( expected
  24. 3775 3 ) expected
  25. 3933 4 , expected
  26. 4211 3 -s, too few values specified in *
  27. 4397 1 -s, too many values, * unused
  28. 4501 3 ... illegal in non-prototype arg list
  29. 4705 3 32 bit addressing illegal
  30. 4907 4 6301 instruction illegal
  31. 5034 4 6801 instruction illegal
  32. 5193 4 68hc11 instruction illegal
  33. 5306 4 68hc11/6301 instruction illegal
  34. 5456 2 80186 instruction/addressing mode
  35. 5614 2 80286 instruction
  36. 5750 2 80386 instruction/addressing mode
  37. 5899 2 80486 instruction/addressing mode
  38. 6017 3 : expected
  39. 6174 2 ; expected
  40. 6312 1 = expected
  41. 6357 2 ] expected
  42. 6493 2 a parameter may not be a function
  43. 6658 1 absolute expression required
  44. 6732 3 add_reloc - bad size
  45. 6918 3 argument * conflicts with prototype
  46. 7091 2 argument -w* ignored
  47. 7232 3 argument list conflicts with prototype
  48. 7425 1 argument redeclared: *
  49. 7524 1 arguments redeclared
  50. 7652 3 arithmetic overflow in constant expression
  51. 7872 3 array dimension on *[] ignored
  52. 8063 3 array dimension redeclared
  53. 8310 2 array index out of bounds
  54. 8458 1 assertion
  55. 8561 1 assertion failed: *
  56. 8664 2 attempt to modify const object
  57. 8784 2 auto variable * should not be qualified
  58. 8969 3 bad #if ... defined() syntax
  59. 9161 1 bad '-p' format
  60. 9227 7 bad -a spec: *
  61. 9448 3 bad -m option: -m*
  62. 9618 2 bad -q option *
  63. 9763 3 bad arg (*) to tysize
  64. 9957 2 bad arg to *l
  65. 10072 1 bad arg to -b
  66. 10131 2 bad arg to e: *
  67. 10286 2 bad arg to extraspecial
  68. 10431 1 bad arg to im
  69. 10517 2 bad bconfloat - *
  70. 10664 2 bad bit address
  71. 10761 2 bad bit number
  72. 10842 1 bad bitfield type
  73. 10903 1 bad character const
  74. 10985 1 bad character in extended tekhex line *
  75. 11075 1 bad checksum specification
  76. 11167 1 bad combination of flags
  77. 11251 3 bad complex relocation
  78. 11400 2 bad confloat - *
  79. 11546 2 bad conval - *
  80. 11692 2 bad dimensions
  81. 11824 2 bad dp/nargs in openpar: dp = *
  82. 11917 3 bad element count expr
  83. 12090 3 bad float operand size
  84. 12227 2 bad gn
  85. 12386 4 bad high address in -a spec
  86. 12612 2 bad int. code
  87. 12716 4 bad load address in -a spec
  88. 12955 4 bad low address in -a spec
  89. 13190 2 bad mod    '+' for    how = *
  90. 13353 4 bad non-zero node in call graph
  91. 13599 3 bad object code format
  92. 13759 2 bad op * to revlog
  93. 13910 2 bad op * to swaplog
  94. 14051 2 bad op: *
  95. 14196 2 bad operand size
  96. 14294 3 bad operand to seg
  97. 14491 3 bad origin format in spec
  98. 14627 2 bad popreg
  99. 14771 1 bad popreg *
  100. 14865 2 bad pragma *
  101. 14967 2 bad psnext list
  102. 15108 2 bad pushreg
  103. 15254 1 bad pushreg: *
  104. 15348 2 bad putwsize
  105. 15497 2 bad record type *
  106. 15590 2 bad relocation type
  107. 15731 2 bad ret_mask
  108. 15881 2 bad segment fixups
  109. 15978 13 bad segspec *
  110. 16407 5 bad size in -s option
  111. 16639 2 bad size list
  112. 16773 6 bad storage class
  113. 17120 3 bad string '*' in psect pragma
  114. 17311 1 bad switch size *
  115. 17399 2 bad sx
  116. 17542 2 bad u usage
  117. 17693 2 bad variable syntax
  118. 17849 1 bad which (*) after i
  119. 17952 7 binary digit expected
  120. 18110 2 bit field too large (* bits)
  121. 18224 2 bug: illegal __ macro *
  122. 18338 4 can't allocate space for port variables: *
  123. 18582 1 can't be both far and near
  124. 18651 2 can't be long
  125. 18771 2 can't be register
  126. 18866 1 can't be short
  127. 18974 1 can't be unsigned
  128. 19069 5 can't call an interrupt function
  129. 19416 2 can't create *
  130. 19542 3 can't create cross reference file *
  131. 19743 2 can't create temp file
  132. 19743 2 can't create temp file *
  133. 19880 1 can't create xref file *
  134. 19964 2 can't enter abs psect
  135. 20132 3 can't find space for psect * in segment *
  136. 20326 3 can't generate code for this expression
  137. 20520 3 can't have 'port' variable: *
  138. 20777 2 can't have 'signed' and 'unsigned' together
  139. 20927 5 can't have array of functions
  140. 21255 2 can't have pointer to bit
  141. 21411 2 can't initialise auto aggregates
  142. 21546 2 can't initialize a basepage variable
  143. 21674 3 can't initialize arg
  144. 21894 4 can't mix proto and non-proto args
  145. 22156 1 can't open
  146. 22211 2 can't open *
  147. 22361 2 can't open * file *
  148. 22462 2 can't open avmap file *
  149. 22590 2 can't open command file *
  150. 22685 2 can't open file *
  151. 22814 3 can't open include file *
  152. 22972 1 can't reopen *
  153. 23081 3 can't take address of register variable
  154. 23275 2 can't take sizeof func
  155. 23387 3 can't take this address
  156. 23572 2 can't use a string in an #if
  157. 23662 2 cannot get memory
  158. 23768 1 cannot open
  159. 23825 1 cannot open *
  160. 23906 5 cannot open include file *
  161. 24183 3 cast type must be scalar or void
  162. 24366 2 char const too long
  163. 24481 5 close error (disk space?)
  164. 24798 4 closing quote expected
  165. 25083 2 common symbol psect conflict: *
  166. 25205 2 complex relocation not supported for -r or -l options yet
  167. 25342 3 conflicting fnconf records
  168. 25489 2 conflicting operand sizes
  169. 25600 6 constant conditional branch
  170. 26007 3 constant conditional branch: possible use of = instead of == 
  171. 26243 2 constant expression required
  172. 26366 2 constant left operand to ?
  173. 26525 2 constant operand to || or &&
  174. 26680 4 constant relational expression
  175. 26959 2 control line * within macro expansion
  176. 27123 4 declaration of * hides outer declaration
  177. 27381 3 declarator too complex
  178. 27595 2 default case redefined
  179. 27726 1 deff not supported in cp/m version
  180. 27815 9 degenerate signed comparison
  181. 28115 9 degenerate unsigned comparison
  182. 28342 4 digit out of range
  183. 28628 3 dimension required
  184. 28808 2 direct addressing required
  185. 28931 1 directive not recognized
  186. 29031 2 divide by zero in #if, zero result assumed
  187. 29143 1 division by zero
  188. 29251 3 double float argument required
  189. 29458 1 duplicate -d flag
  190. 29528 2 duplicate -d or -h flag
  191. 29613 3 duplicate -m flag
  192. 29777 2 duplicate base register
  193. 29899 1 duplicate case label
  194. 29995 1 duplicate case label *
  195. 30103 2 duplicate displacement in operand
  196. 30203 2 duplicate fnconf directive
  197. 30359 2 duplicate index register
  198. 30451 3 duplicate label *
  199. 30635 3 duplicate qualifier
  200. 30833 1 duplicate qualifier key *
  201. 30928 2 duplicate qualifier key * (*)
  202. 31083 2 duplicate qualifier name *
  203. 31239 1 duplicate qualifier*
  204. 31333 2 end of file within macro argument
  205. 31505 3 end statement inside include file or macro
  206. 31682 2 entry point multiply defined
  207. 31787 2 enum tag or { expected
  208. 31920 2 eof in #asm
  209. 32057 2 eof inside conditional
  210. 32165 2 eof inside macro def'n
  211. 32298 5 eof on string file
  212. 32618 6 error closing output file
  213. 32988 4 error in format string
  214. 33242 1 esp not permitted as index register
  215. 33303 2 expand - bad how
  216. 33453 2 expand - bad which
  217. 33608 4 expected '-' in -a spec
  218. 33733 2 exponent expected
  219. 33828 3 expression error
  220. 34014 2 expression generates no code
  221. 34154 3 expression stack overflow at op *
  222. 34333 2 expression syntax
  223. 34427 2 expression too complex
  224. 34591 11 external declaration inside function
  225. 35311 2 fail directive: *
  226. 35452 3 filename work buffer overflow
  227. 35652 4 fixup overflow referencing *
  228. 35895 6 fixup overflow referencing * 
  229. 36224 1 flag * unknown
  230. 36324 6 float param coerced to double
  231. 36725 2 floating exponent too large
  232. 36870 2 floating number expected
  233. 36973 2 form length must be >= 15
  234. 37108 9 formal parameter expected after #
  235. 37509 4 function * appears in multiple call graphs: rooted at *
  236. 37750 3 function * is never called
  237. 37951 3 function body expected
  238. 38149 11 function declared implicit int
  239. 38850 2 function does not take arguments
  240. 38982 7 function is already 'extern'; can't be 'static'
  241. 39371 4 function or function pointer required
  242. 39660 3 function's local data too large
  243. 39834 2 functions can't return arrays
  244. 39961 5 functions can't return functions
  245. 40251 2 functions nested too deep
  246. 40359 2 garbage after operands
  247. 40494 2 garbage on end of line
  248. 40680 2 hc11 and h301 are incompatible
  249. 40814 2 hex digit expected
  250. 40918 2 ident records do not match
  251. 41064 2 identifier expected
  252. 41181 2 identifier redefined: *
  253. 41290 2 identifier redefined: * (from line *)
  254. 41419 7 illegal # command *
  255. 41750 2 illegal #if line
  256. 41891 2 illegal #undef argument
  257. 41988 2 illegal '#' directive
  258. 42120 5 illegal -o flag
  259. 42284 2 illegal -p flag
  260. 42398 1 illegal addressing mode
  261. 42460 3 illegal character (*)
  262. 42644 2 illegal character (0*)
  263. 42758 3 illegal character * in #if
  264. 42941 2 illegal conversion
  265. 43103 5 illegal conversion between pointer types
  266. 43475 5 illegal conversion of integer to pointer
  267. 43797 5 illegal conversion of pointer to integer
  268. 44093 1 illegal flag *
  269. 44151 5 illegal function qualifier(s)
  270. 44468 6 illegal indirect addressing
  271. 44636 2 illegal initialisation
  272. 44779 2 illegal or too many -p flags
  273. 44867 2 illegal record type
  274. 45045 2 illegal register for indirection
  275. 45164 3 illegal relocation size: *
  276. 45382 2 illegal relocation type: *
  277. 45546 2 illegal stack index
  278. 45641 1 illegal switch *
  279. 45720 2 illegal type for array dimension
  280. 45830 1 illegal type for index expression
  281. 45934 2 illegal type for switch expression
  282. 46067 3 illegal use of void expression
  283. 46239 2 image too big
  284. 46370 3 implicit conversion of float to integer
  285. 46604 5 implicit return at end of non-void function
  286. 46919 9 implict signed to unsigned conversion
  287. 47493 3 inappropriate 'else'
  288. 47677 4 inappropriate break/continue
  289. 47962 2 include files nested too deep
  290. 48165 6 incompatible intermediate code version; should be *
  291. 48632 4 incompatible intermediate code version; should be *.*
  292. 48918 2 incomplete * record body: length = *
  293. 49058 1 incomplete record
  294. 49129 3 incomplete record: *
  295. 49339 4 incomplete record: type = * length = *
  296. 49525 2 inconsistent storage class
  297. 49646 2 inconsistent type
  298. 49767 1 index offset too large
  299. 49878 1 indirection on illegal register
  300. 49947 2 initialisation syntax
  301. 50111 3 initializer in 'extern' declaration
  302. 50346 1 insufficient memory for macro def'n
  303. 50433 4 integer constant expected
  304. 50663 2 integer expression required
  305. 50818 2 integral argument required
  306. 50979 1 integral type required
  307. 51063 2 invalid disable: *
  308. 51149 2 invalid number syntax
  309. 51286 2 invalid operand size
  310. 51426 2 invalid short addressing
  311. 51545 2 invalid short addressing override
  312. 51670 2 jump out of range
  313. 51843 3 jump target out of range
  314. 52015 1 label identifier expected
  315. 52098 5 large stack offset for *
  316. 52425 1 lexical error
  317. 52529 4 line does not have a newline on the end
  318. 52788 4 line too long
  319. 53021 2 local illegal outside macros
  320. 53208 1 local psect '*' conflicts with global psect of same name
  321. 53291 2 logical type required
  322. 53447 2 long argument required
  323. 53603 2 macro * wasn't defined
  324. 53759 2 macro argument after % must be absolute
  325. 53946 2 macro argument may not appear after local
  326. 54086 2 macro expansions nested too deep
  327. 54229 2 macro name used as symbol
  328. 54365 3 macro work area overflow
  329. 54584 2 member * redefined
  330. 54708 4 members cannot be functions
  331. 54981 1 metaregister * can't be used directly
  332. 55085 5 mismatched comparision
  333. 55487 3 misplaced '?' or ':', previous operator is *
  334. 55651 3 misplaced constant in #if
  335. 55809 1 missing ')'
  336. 55892 3 missing '=' in class spec
  337. 55952 1 missing ']'
  338. 56030 1 missing arg to -a
  339. 56112 3 missing arg to -u
  340. 56192 2 missing arg to -w
  341. 56284 5 missing argument to 'pragma psect'
  342. 56521 4 missing basic type: int assumed
  343. 56734 2 missing key in avmap file
  344. 56871 2 missing memory key in avmap file
  345. 57010 8 missing name after pragma 'inline'
  346. 57288 4 missing name after pragma 'printf_check'
  347. 57478 2 missing number after % in -p option
  348. 57599 8 missing number after pragma 'pack'
  349. 57960 2 missing operand size
  350. 58055 2 missing size for align
  351. 58163 1 missing size for dc
  352. 58262 2 mixed 16 and 32 bit index registers
  353. 58408 2 mod by zero in #if, zero result assumed
  354. 58546 6 module has code below file base of *
  355. 58899 3 multi-byte constant * isn't portable
  356. 59059 1 multiple free: *
  357. 59166 1 multiply defined symbol *
  358. 59262 1 multiply defined symbol: *
  359. 59339 2 negative index offset
  360. 59428 3 nested comments
  361. 59601 2 no #asm before #endasm
  362. 59697 2 no arg to -o
  363. 59862 1 no case    labels
  364. 59919 1 no case labels
  365. 59985 2 no end record
  366. 60088 2 no end record found
  367. 60217 1 no file argument
  368. 60281 2 no file arguments
  369. 60399 3 no identifier in declaration
  370. 60580 3 no memory for string buffer
  371. 60814 2 no psect specified for function variable/argument allocation
  372. 60970 1 no space for macro def'n
  373. 61054 4 no start record: entry point defaults to zero
  374. 61339 2 no. of arguments redeclared
  375. 61472 2 nodecount = *
  376. 61627 2 non-constant case label
  377. 61742 3 non-prototyped function declaration: *
  378. 61978 3 non-scalar types can't be converted
  379. 62172 2 non-void function returns no value
  380. 62320 2 not a member of the struct/union *
  381. 62438 2 not a variable identifier: *
  382. 62544 3 not an argument: *
  383. 62730 3 object code version is greater than *
  384. 62917 3 object file is not absolute
  385. 63128 1 one segment override only permitted
  386. 63229 2 only functions may be qualified interrupt
  387. 63333 1 only functions may be void
  388. 63439 6 only lvalues may be assigned to or modified
  389. 63865 2 only register storage class allowed
  390. 63972 1 oops! -ve number of nops required!
  391. 64035 2 operand error
  392. 64189 3 operand size undefined
  393. 64380 4 operands of * not same pointer type
  394. 64617 4 operands of * not same type
  395. 64853 3 operator * in incorrect context
  396. 65012 1 option not supported
  397. 65074 3 out of far memory
  398. 65304 2 out of far memory (wanted * bytes)
  399. 65421 5 out of memory
  400. 65722 3 out of near memory
  401. 65941 2 out of space in macro * arg expansion
  402. 66088 3 output file cannot be also an input file
  403. 66298 2 page width must be >= 41
  404. 66436 3 phase error
  405. 66619 2 phase error in macro args
  406. 66757 2 phase error on temporary label
  407. 66881 2 pointer required
  408. 67027 2 pointer to * argument required
  409. 67201 3 pointer to non-static object returned
  410. 67427 1 pop immediate illegal
  411. 67495 2 pop of allreg!!
  412. 67644 2 pop of register *
  413. 67797 2 popreg    - bad reg *(*)
  414. 67945 2 popreg - bad reg
  415. 68132 2 popreg - trying to pop * with 0* regbits - can't do it!
  416. 68299 2 portion of expression has no effect
  417. 68419 5 possible pointer truncation
  418. 68724 2 preprocessor assertion failure
  419. 68872 5 probable missing '}' in previous block
  420. 69179 2 psect '*' re-orged
  421. 69282 3 psect * cannot be in classes *
  422. 69468 1 psect * in more than one group
  423. 69560 4 psect * not loaded on * boundary
  424. 69785 3 psect * not relocated on * boundary
  425. 69954 3 psect * not specified in -p option
  426. 70122 2 psect * re-orged
  427. 70219 1 psect * selector value redefined
  428. 70313 3 psect * type redefined: *
  429. 70541 1 psect exceeds max size: *
  430. 70620 2 psect is absolute: *
  431. 70735 2 psect may not be local and global
  432. 70865 1 psect origin multiply defined: *
  433. 70943 2 psect property redefined
  434. 71041 2 psect reloc redefined
  435. 71152 2 psect selector redefined
  436. 71266 2 psect size redefined
  437. 71367 2 push of allreg!!
  438. 71517 2 push of register *
  439. 71666 2 pushreg    - bad reg
  440. 71820 2 pushreg    - bad reg *(*)
  441. 72009 2 pushreg - trying to push * with 0* regbits - can't do it!
  442. 72165 2 radix value out of range
  443. 72266 1 read error on *
  444. 72341 2 record too long
  445. 72433 2 record too long: *
  446. 72582 5 recursive function calls: 
  447. 72861 2 recursive macro definition of *
  448. 72989 3 redefining macro *
  449. 73208 3 redundant & applied to array
  450. 73379 2 reginit!!!???
  451. 73533 2 regused    - bad arg to g
  452. 73681 4 relocation error
  453. 74003 3 relocation offset * out of range 0..*
  454. 74195 2 relocation too complex
  455. 74299 1 remsym error
  456. 74378 1 rept argument must be >= 0
  457. 74471 1 restore without matching save
  458. 74562 2 revlog - bad op
  459. 74715 2 save/restore too deep
  460. 74811 2 scale value invalid
  461. 74915 1 scale value must be a constant
  462. 74990 1 seek error: *
  463. 75075 2 segment * overlaps segment *
  464. 75208 5 signatures do not match: *
  465. 75536 2 signed bitfields not supported
  466. 75697 2 simple integer expression required
  467. 75845 1 simple type required for *
  468. 75947 2 size error
  469. 76105 7 sizeof yields 0
  470. 76541 2 storage class illegal
  471. 76700 4 storage class redeclared
  472. 76938 4 strange character * after ##
  473. 77191 1 strange character after # *
  474. 77250 2 string expected
  475. 77343 1 string too long
  476. 77410 2 struct/union member expected
  477. 77511 1 struct/union redefined: *
  478. 77588 1 struct/union required
  479. 77686 2 struct/union tag or '{' expected
  480. 77832 2 structure too big for function return
  481. 77977 3 symbol * cannot be global
  482. 78201 3 symbol * has erroneous psect: *
  483. 78408 2 symbol * is not external
  484. 78581 3 symbol * not defined in #undef
  485. 78761 1 syntax error
  486. 78861 4 syntax error in -a spec
  487. 78977 3 syntax error in checksum list
  488. 79191 1 text does not start at 0
  489. 79269 1 text offset too low
  490. 79346 3 text record has bad length: *
  491. 79527 2 text record has length too small: *
  492. 79661 3 this function too large - try reducing level of optimization
  493. 79850 2 this is a struct
  494. 80007 2 this is a union
  495. 80160 2 this is an enum
  496. 80326 2 too few arguments
  497. 80433 2 too few arguments for format string
  498. 80598 3 too many (*) enumeration constants
  499. 80775 2 too many (*) structure members
  500. 80919 1 too many arguments
  501. 81024 2 too many arguments for format string
  502. 81171 1 too many arguments for macro
  503. 81276 2 too many arguments in macro expansion
  504. 81398 2 too many cases in switch
  505. 81572 4 too many comment lines - discarding
  506. 81852 2 too many errors
  507. 82019 2 too many include directories
  508. 82136 2 too many initializers
  509. 82297 1 too many macro parameters
  510. 82390 2 too many nested #* statements
  511. 82490 1 too many psect class specifications
  512. 82573 1 too many psect pragmas
  513. 82641 1 too many psects
  514. 82715 1 too many qualifier names
  515. 82788 2 too many relocation items
  516. 82879 1 too many segment fixups
  517. 82970 1 too many segments
  518. 83054 3 too many symbols
  519. 83276 2 too many temporary labels
  520. 83410 2 too may symbols
  521. 83538 1 too much indirection
  522. 83619 2 too much pushback
  523. 83717 1 type conflict
  524. 83791 3 type redeclared
  525. 84020 2 type specifier reqd. for proto arg
  526. 84154 2 unbalanced paren's, op is *
  527. 84293 1 undefined enum tag: *
  528. 84354 2 undefined identifier: *
  529. 84481 2 undefined label: *
  530. 84598 2 undefined operand size
  531. 84738 2 undefined public symbol *
  532. 84862 4 undefined shift (* bits)
  533. 85189 1 undefined struct/union
  534. 85278 2 undefined struct/union: *
  535. 85369 1 undefined symbol *
  536. 85474 3 undefined symbol * in #if, 0 used
  537. 85631 2 undefined symbol:
  538. 85778 1 undefined symbols:
  539. 85865 2 undefined temporary label
  540. 86000 1 undefined variable: *
  541. 86082 2 unexpected end of file
  542. 86199 1 unexpected eof
  543. 86300 10 unexpected text in #control line ignored
  544. 86605 2 unknown    predicate *
  545. 86760 1 unknown addressing mode
  546. 86836 1 unknown arg to opt
  547. 86904 2 unknown arg type to lpsize
  548. 87062 2 unknown complex operator *
  549. 87225 1 unknown directive
  550. 87293 2 unknown fnrec type *
  551. 87383 1 unknown option *
  552. 87452 1 unknown pragma *
  553. 87514 2 unknown psect: *
  554. 87645 2 unknown qualifier '*' given to -a
  555. 87817 2 unknown record type: *
  556. 87940 2 unknown symbol type *
  557. 88058 3 unreachable code
  558. 88283 2 unreasonable matching depth
  559. 88443 1 unrecognized argument to opt
  560. 88513 2 unrecognized option to -o: *
  561. 88615 2 unrecognized option to -z: *
  562. 88796 9 unrecognized qualifer name after 'strings'
  563. 89148 3 unterminated #if[n][def] block from line *
  564. 89296 2 unterminated macro arg
  565. 89427 1 unterminated string
  566. 89525 2 unterminated string in macro body
  567. 89610 1 unused constant: *
  568. 89696 1 unused enum: *
  569. 89779 1 unused label: *
  570. 89853 1 unused member: *
  571. 89941 1 unused structure: *
  572. 90024 1 unused typedef: *
  573. 90099 1 unused union: *
  574. 90192 1 unused variable declaration: *
  575. 90282 1 unused variable definition: *
  576. 90377 2 variable may be used before set: *
  577. 90551 2 void function cannot return value
  578. 90670 1 while expected
  579. 90758 2 work buffer overflow *
  580. 90881 2 write error (out of disk space?) *
  581. 90954 2 write error on *
  582. 91075 2 write error on object file
  583. 91264 1 wrong number of macro arguments for * - * instead of *
  584. 91337 1 { expected
  585. 91385 1 } expected
  586. %#define syntax error
  587. A macro definition has a syntax error. This could be due
  588. to a macro or formal parameter name that does not start
  589. with a letter or a missing closing parenthesis (')').
  590. %#elif may not follow #else
  591. If a #else has been used after #if, you cannot then use
  592. a #elif in the same conditional block.
  593. %#elif must be in an #if
  594. #elif must be preceded by a matching #if line. If there
  595. is an apparently corresponding #if line, check for things
  596. like extra #endif's, or improperly terminated comments.
  597. %#else may not follow #else
  598. There can be only one #else corresponding to each #if.
  599. %#else must be in an #if
  600. #else can only be used after a matching #if.
  601. %#error: *
  602. This is a programmer generated error; there is a directive
  603. causing a deliberate error. This is normally used to check
  604. compile time defines etc.
  605. %#if ... sizeof() syntax error
  606. The preprocessor found a syntax error in  the argument to sizeof,
  607. in a #if expression. Probable causes are mismatched parentheses
  608. and similar things.
  609. %#if ... sizeof: bug, unknown type code *
  610. The preprocessor has made an internal error in evaluating
  611. a sizeof() expression. Check for a malformed type specifier.
  612. %#if ... sizeof: illegal type combination
  613. The preprocessor found an illegal type combination in
  614. the argument to sizeof() in a #if expression. Illegal
  615. combinations include such things as "short long int".
  616. %#if bug, operand = *
  617. The preprocessor has tried to evaluate an expression with
  618. an operator it does not understand. This is an internal error.
  619. %#if sizeof() error, no type specified
  620. Sizeof() was used in a preprocessor #if expression, but no
  621. type was specified. The argument to sizeof() in a preprocessor
  622. expression must be a valid simple type, or pointer to a simple type.
  623. %#if sizeof, unknown type *
  624. An unknown type was used in a preprocessor sizeof(). The
  625. preprocessor can only evaluate sizeof() with basic types, or
  626. pointers to basic types.
  627. %#if value stack overflow
  628. The preprocessor filled up its expression evaluation stack
  629. in a #if expression. Simplify the expression - it probably contains
  630. too many parenthesized subexpressions.
  631. %#if, #ifdef, or #ifndef without an argument
  632. The preprocessor directives #if, #ifdef and #ifndef must
  633. have an argument. The argument to #if should be an expression,
  634. while the argument to #ifdef or #ifndef should be a single name.
  635. %#include syntax error
  636. The syntax of the filename argument to #include is invalid. The
  637. argument to #include must be a valid file name, either enclosed in
  638. double quotes ("") or angle brackets (<>). For example:
  639. #include    "afile.h"
  640. #include    <otherfile.h>
  641. Spaces should not be included, and the closing quote or bracket must be present. There
  642. should be nothing else on the line.
  643. %'.' expected after '..'
  644. The only context in which two successive dots may appear is as part of the
  645. ellipsis symbol, which must have 3 dots.
  646. %'.' not followed by 'w' or 'b'
  647. A dot (.) introduces an operand size specifier, so it must be followed
  648. by an appropriate specifier. .W is for words, .B for bytes.
  649. %'=' expected after lle
  650. The LLE option requires an equal sign, then the desired listing line length
  651. as a decimal number, e.g.
  652.  
  653. opt    lle=80
  654. %'=' expected after p
  655. The P option specifies a page length, and must have an equal sign and a
  656. decimal number, e.g.
  657.  
  658. opt    p=66
  659. %'case' not in switch
  660. A case statement has been encountered but there is no enclosing switch
  661. statement. A case statement may only appear inside the body of a
  662. switch statement.
  663. %'default' not in switch
  664. A label has been encountered called "default" but it is not
  665. enclosed by a switch statement.  The label "default" is only legal
  666. inside the body of a switch
  667. statement. 
  668. %( expected
  669. An opening parenthesis was expected here. This must be the first token
  670. after a while, for, if, do or asm keyword.
  671. %) expected
  672. A closing parenthesis was expected here. This may indicate you have
  673. left out a parenthesis in an expression, or you have some other
  674. syntax error.
  675. %, expected
  676. A comma was expected here. This probably means you have left out the comma
  677. between two identifiers in a declaration list. It may also mean that
  678. the immediately preceding type name is misspelled, and has thus been
  679. interpreted as an identifier.
  680. %-s, too few values specified in *
  681. The list of values to the preprocessor -S option is incomplete.
  682. This should not happen if the preprocessor is being invoked by the
  683. compiler driver or HPD.
  684. %-s, too many values, * unused
  685. There were too many values supplied to a -S preprocessor option.
  686. %... illegal in non-prototype arg list
  687. The ellipsis symbol may only appear as the last item in a prototyped
  688. argument list. It may not appear on its own, nor may it appear after
  689. argument names that do not have types.
  690. %32 bit addressing illegal
  691. 32 bit addressing (i.e. using 32 bit registers in an index expression)
  692. is illegal unless generating 386 or 486 code. Use a .386 or .486
  693. directive at the beginning of the file.
  694. %6301 instruction illegal
  695. This instruction is for the 6301 and is illegal unless an appropriate
  696. option is used, e.g.
  697.  
  698. opt    h301
  699. %6801 instruction illegal
  700. The 6801 instructions can only be used if an appropriate
  701. option is used, to allow 6801, 68HC11 or 6301 instructions. E.g.
  702.  
  703. opt    z01
  704. %68hc11 instruction illegal
  705. 68HC11 instructions can only be used if the HC11 option is
  706. used, e.g.
  707.  
  708. opt    HC11
  709. %68hc11/6301 instruction illegal
  710. This instruction is only implemented in the 68HC11 and 6301
  711. processors. Use an HC11 or H301 option, e.g.
  712.  
  713. opt    HC11
  714. %80186 instruction/addressing mode
  715. An instruction or addressing mode not supported by the 8088/8086 was
  716. encountered. Use a .186, .286. .386 or .486 directive to allow these.
  717. %80286 instruction
  718. An instruction peculiar to the 80286
  719. encountered. Use a .286. .386 or .486 directive to allow these.
  720. %80386 instruction/addressing mode
  721. An instruction or addressing mode peculiar to the 80386
  722. encountered. Use a .386 or .486 directive to allow these.
  723. %80486 instruction/addressing mode
  724. An instruction or addressing mode peculiar to the 80486
  725. encountered. Use a .486 directive to allow these.
  726. %: expected
  727. A colon is missing in a case label, or after the keyword "default".
  728. This often occurs when a semicolon is accidentally typed instead of
  729. a colon.
  730. %; expected
  731. A semicolon is missing here. The semicolon is used as a terminator in
  732. many kinds of statements, e.g. do .. while, return etc.
  733. %= expected
  734. An equal sign was expected here.
  735. %] expected
  736. A closing square bracket was expected in an array declaration or
  737. an expression using an array index.
  738. %a parameter may not be a function
  739. A function parameter may not be a function. It may be a pointer to
  740. a function, so perhaps a "*" has been omitted from the declaration.
  741. %absolute expression required
  742. An absolute expression is required in this context.
  743. %add_reloc - bad size
  744. This is an internal error that should never happen. The assembler may
  745. be corrupted, and should be re-installed from the original distribution
  746. disks.
  747. %argument * conflicts with prototype
  748. The argument specified (argument 1 is the left most argument) of this
  749. function declaration does not agree with a previous prototype for this
  750. function.
  751. %argument -w* ignored
  752. The -W argument should not have a negative argument less than
  753. -9. Warning levels range from -9 to 9.
  754. %argument list conflicts with prototype
  755. The argument list in a function definition is not the same as a previous
  756. prototype for that function. Check that the number and types of the
  757. arguments are all the same.
  758. %argument redeclared: *
  759. The specified argument is declared more than once in the same argument list.
  760. %arguments redeclared
  761. The arguments of the function have been declared differently in two or more places.
  762. %arithmetic overflow in constant expression
  763. A constant expression has been evaluated by the code generator
  764. that has resulted in a value that is too big for the type of
  765. the expression, e.g. trying to store the value 256 in a "char".
  766. %array dimension on *[] ignored
  767. An array dimension on a function parameter is ignored, because the argument is
  768. actually converted to a pointer when passed. Thus arrays of any size may
  769. be passed.
  770. %array dimension redeclared
  771. An array dimension has been declared as a different non-zero value from
  772. its previous declaration. It is acceptable to redeclare the size of an
  773. array that was previously declared with a zero dimension, but not otherwise.
  774. %array index out of bounds
  775. An array is being indexed with a constant value that is less than zero, or greater
  776. than or equal to the number of elements in the array.
  777. %assertion
  778. An internal error has occured in the compiler. Contact HI-TECH technical support.
  779. %assertion failed: *
  780. This is an internal error. Contact HI-TECH Software technical support.
  781. %attempt to modify const object
  782. Objects declared "const" may not be assigned to or modified in any
  783. other way..
  784. %auto variable * should not be qualified
  785. An auto variable should not have qualifiers such as "near" or "far" associated
  786. with it. Its storage class is implicitly defined by the stack organization.
  787. %bad #if ... defined() syntax
  788. The defined() pseudo-function in a preprocessor expression
  789. requires its argument to be a single name. The name must start with
  790. a letter. It should be enclosed in parentheses.
  791. %bad '-p' format
  792. The "-P" option given to the linker is malformed.
  793. %bad -a spec: *
  794. The format of a -A specification, giving address ranges to the linker,
  795. is invalid. The correct format is:
  796.  
  797. -Aclass=low-high
  798.  
  799. where class is the name of a psect class, and low and high are hex
  800. numbers.
  801. %bad -m option: -m*
  802. The code generator has been passed a -M option that it does not
  803. understand. This should not happen if it is being invoked by a
  804. standard compiler driver.
  805. %bad -q option *
  806. The first pass of the compiler has been invoked with a -Q option,
  807. to specify a type qualifier name, that is badly formed.
  808. %bad arg (*) to tysize
  809. This is an internal error that should not happen. If this occurs, re-install
  810. the compiler from the original distribution disks, as it could represent
  811. a corrupted executable file.
  812. %bad arg to *l
  813. The *L directive should be followed by either ON or OFF.
  814. This turns listing on or off respectively.
  815. %bad arg to -b
  816. The argument supplied to "-B" is invalid.
  817. %bad arg to e: *
  818. This is an internal code generator error. Contact HI-TECH technical
  819. support with full details of the code that caused this error.
  820. %bad arg to extraspecial
  821. This is an internal code generator error. Contact HI-TECH technical
  822. support with full details of the code that caused this error.
  823. %bad arg to im
  824. The opcode "IM" only takes the constants 0, 1 or 2 as an argument.
  825. %bad bconfloat - *
  826. This is an internal code generator error. Contact HI-TECH technical
  827. support with full details of the code that caused this error.
  828. %bad bit address
  829. This bit address is invalid. Bit addresses for the 8051
  830. may range from 0 to 255.
  831. %bad bit number
  832. A bit number must be an absolute expression in the range
  833. 0-7.
  834. %bad bitfield type
  835. A bitfield may only have a type of int.
  836. %bad character const
  837. This character constant is badly formed.
  838. %bad character in extended tekhex line *
  839. This is an internal error in objtohex and should never occur.
  840. %bad checksum specification
  841. A checksum list supplied to the linker is syntatically incorrect.
  842. %bad combination of flags
  843. The combination of options supplied to objtohex is invalid.
  844. %bad complex relocation
  845. The linker has been asked to perform complex relocation
  846. that is not syntactically correct. Probably means a corrupted
  847. object file.
  848. %bad confloat - *
  849. This is an internal code generator error. Contact HI-TECH technical
  850. support with full details of the code that caused this error.
  851. %bad conval - *
  852. This is an internal code generator error. Contact HI-TECH technical
  853. support with full details of the code that caused this error.
  854. %bad dimensions
  855. The code generator has been passed a declaration that
  856. results in an array having a zero dimension.
  857. %bad dp/nargs in openpar: dp = *
  858. This is an internal error in the preprocessor. It should
  859. not happen.
  860. %bad element count expr
  861. There is an error in the intermediate code. Try re-installing the
  862. compiler from the distribution disks, as this could be caused by a
  863. corrupted file.
  864. %bad float operand size
  865. The operand size for a DF pseudo-op must be either .L for
  866. long (4 byte) floating point values, or .D for double (8 byte)
  867. floats.
  868. %bad gn
  869. This is an internal code generator error. Contact HI-TECH technical
  870. support with full details of the code that caused this error.
  871. %bad high address in -a spec
  872. The high address given in a -A specification is invalid: it
  873. should be a valid number, in decimal, octal or hexadecimal radix.
  874. The radix is specified by a trailing O (for octal) or H for
  875. hex. Decimal is default.
  876. %bad int. code
  877. The code generator has been passed input that is not syntatically
  878. correct.
  879. %bad load address in -a spec
  880. The load address given in a -A specification is invalid: it
  881. should be a valid number, in decimal, octal or hexadecimal radix.
  882. The radix is specified by a trailing O (for octal) or H for
  883. hex. Decimal is default.
  884. %bad low address in -a spec
  885. The low address given in a -A specification is invalid: it
  886. should be a valid number, in decimal, octal or hexadecimal radix.
  887. The radix is specified by a trailing O (for octal) or H for
  888. hex. Decimal is default.
  889. %bad mod    '+' for    how = *
  890. This is an internal code generator error. Contact HI-TECH technical
  891. support with full details of the code that caused this error.
  892. %bad non-zero node in call graph
  893. The linker has encountered a top level node in the call graph
  894. that is referenced from lower down in the call graph. This
  895. probably means the program has indirect recursion, which is
  896. not allowed when using a compiled stack.
  897. %bad object code format
  898. The object code format of this object file is invalid. This probably
  899. means it is either truncated, corrupted, or not a HI-TECH object
  900. file.
  901. %bad op * to revlog
  902. This is an internal code generator error. Contact HI-TECH technical
  903. support with full details of the code that caused this error.
  904. %bad op * to swaplog
  905. This is an internal code generator error. Contact HI-TECH technical
  906. support with full details of the code that caused this error.
  907. %bad op: *
  908. This is caused by an error in the intermediate code file. You may
  909. have run out of disk (or RAMdisk) space for temporary files.
  910. %bad operand size
  911. This instruction requires an operand size of byte. Any other
  912. size is illegal.
  913. %bad operand to seg
  914. The seg operator requires an argument which refers either to a symbol
  915. or a psect. Its operand may not be an unevaluated expression, e.g.
  916. the sum of two external symbols.
  917. %bad origin format in spec
  918. The origin format in a -p option is not a validly formed
  919. decimal, octal or hex number. A hex number must have a
  920. trailing H.
  921. %bad popreg
  922. This is an internal code generator error. Contact HI-TECH technical
  923. support with full details of the code that caused this error.
  924. %bad popreg *
  925. This is an internal compiler error. Contact HI-TECH Software technical support.
  926. %bad pragma *
  927. The code generator has been passed a "pragma" directive that it
  928. does not understand.
  929. %bad psnext list
  930. This is an internal assembler error. Contact HI-TECH technical
  931. support with full details of the code that caused this error.is 
  932. %bad pushreg
  933. This is an internal code generator error. Contact HI-TECH technical
  934. support with full details of the code that caused this error.
  935. %bad pushreg: *
  936. This is an internal compiler error. Contact HI-TECH Software technical support.
  937. %bad putwsize
  938. This is an internal code generator error. Contact HI-TECH technical
  939. support with full details of the code that caused this error.
  940. %bad record type *
  941. This indicates that the object file is not a valid
  942. HI-TECH object file.
  943. %bad relocation type
  944. This is an internal assembler error. Contact HI-TECH technical
  945. support with full details of the code that caused this error.is
  946. %bad ret_mask
  947. This is an internal code generator error. Contact HI-TECH technical
  948. support with full details of the code that caused this error.
  949. %bad segment fixups
  950. This is an obscure message from objtohex that is not
  951. likely to occur in practice.
  952. %bad segspec *
  953. The segspec option (-G) to the linker is invalid. The correct
  954. form of a segspec option is along the following lines:
  955.  
  956. -Gnxc+o
  957.  
  958. where n stands for the segment number, x is a multiplier
  959. symbol, c is a constant (multiplier) and o is a constant
  960. offset. For example the option
  961.  
  962. -Gnx4+16
  963.  
  964. would assign segment selectors starting from 16, and incrementing
  965. by 4 for each segment, i.e. in the order 16, 20, 24 etc.
  966. %bad size in -s option
  967. The size part of a -S option is not a validly
  968. formed number. The number must be a decimal, octal
  969. or hex number. A hex number needs a trailing H, and
  970. an octal number a trailing O. All others are assumed
  971. to be decimal.
  972. %bad size list
  973. The first pass of the compiler has been invoked with a -Z option,
  974. specifying sizes of types, that is badly formed.
  975. %bad storage class
  976. The storage class "auto" may only be used inside a function. A function
  977. parameter may not have any storage class specifier other than
  978. "register".
  979. If this error is issued by the code generator, it could mean that
  980. the intermediate code file is invalid. This could be caused
  981. by running out of disk (or RAMdisk) space.
  982. %bad string '*' in psect pragma
  983. The code generator has been passed a "pragma psect" directive
  984. that has a badly formed string. "Pragma psect" should be followed
  985. by something of the form "oldname=newname".
  986. %bad switch size *
  987. This is an internal compiler error. Contact HI-TECH Software technical support.
  988. %bad sx
  989. This is an internal code generator error. Contact HI-TECH technical
  990. support with full details of the code that caused this error.
  991. %bad u usage
  992. This is an internal code generator error. Contact HI-TECH technical
  993. support with full details of the code that caused this error.
  994. %bad variable syntax
  995. There is an error in the intermediate code file. This could be caused by
  996. running out of disk (or RAMdisk) space for temporary files.
  997. %bad which (*) after i
  998. This is an internal compiler error. Contact HI-TECH Software technical support.
  999. %binary digit expected
  1000. A binary digit was expected. The format for a binary number is
  1001.  
  1002.     0Bxxx
  1003.  
  1004. where xxx is a string of zeroes and ones, e.g.
  1005.  
  1006.     0B0110
  1007. %bit field too large (* bits)
  1008. The maximum number of bits in a bit field is the same as the
  1009. number of bits in an "int".
  1010. %bug: illegal __ macro *
  1011. This is an internal error in the preprocessor that
  1012. should not happen.
  1013. %can't allocate space for port variables: *
  1014. "Port" variables may only be declared "extern" or have an
  1015. absolute address associated via the "@ address" construct. They
  1016. may not be declared in such a way that would require the compiler
  1017. to allocate space for them.
  1018. %can't be both far and near
  1019. It is illegal to qualify a type as both far and near.
  1020. %can't be long
  1021. Only "int" and "float" can be qualified with "long". Thus combinations
  1022. like "long char" are illegal.
  1023. %can't be register
  1024. Only function parameters or auto (local) variables may be declared
  1025. "register".
  1026. %can't be short
  1027. Only "int" can be modified with short. Thus combinations like "short float" are illegal.
  1028. %can't be unsigned
  1029. There is no such thing as an unsigned floating point number.
  1030. %can't call an interrupt function
  1031. A function qualified "interrupt" can't be called from other functions.
  1032. It can only be called by a hardware (or software) interrupt. This is
  1033. because an interrupt function has special function entry and exit code
  1034. that is appropriate only for calling from an interrupt. An
  1035. "interrupt" function can call other non-interrupt functions.
  1036. %can't create *
  1037. The named file could not be created. Check that all directories in the
  1038. path are present.
  1039. %can't create cross reference file *
  1040. The cross reference file could not be created. Check that
  1041. all directories are present. This can also be caused by the
  1042. assembler running out of memory.
  1043. %can't create temp file
  1044. %can't create temp file *
  1045. The compiler could not create the temporary file named. Check that all the
  1046. directories in the file path exist.
  1047. %can't create xref file *
  1048. An output file for the cross reference could not be created.
  1049. %can't enter abs psect
  1050. This is an internal assembler error. Contact HI-TECH technical
  1051. support with full details of the code that caused this error.
  1052. %can't find space for psect * in segment *
  1053. The named psect cannot be placed in the specified segment.
  1054. This probably means your code has got too big for the
  1055. specified ROM space (using -A options).
  1056. %can't generate code for this expression
  1057. This expression is too difficult for the code generator to handle.
  1058. Try simplifying the expression, e.g. using a temporary variable
  1059. to hold an intermediate result.
  1060. %can't have 'port' variable: *
  1061. The qualifier "port" can be used only with pointers or absolute variables.
  1062. You cannot define a port variable as the compiler does not allocate space
  1063. for port variables. You can declare an external port variable.
  1064. %can't have 'signed' and 'unsigned' together
  1065. The type modifiers signed and unsigned cannot be used together
  1066. in the same declaration, as they have opposite meaning.
  1067. %can't have array of functions
  1068. You can't have an array of functions. You can however have an array
  1069. of pointers to functions. The correct syntax for an array of pointers
  1070. to functions is "int (* arrayname[])();". Note that parentheses are
  1071. used to associate the star (*) with the array name before the
  1072. parentheses denoting a function.
  1073. %can't have pointer to bit
  1074. Bit variables as implemented in the 8051 compiler are not addressable
  1075. via pointers, so a pointer to a bit is not allowed.
  1076. %can't initialise auto aggregates
  1077. You can't initialise structures or arrays local to a function unless
  1078. they are declared "static".
  1079. %can't initialize a basepage variable
  1080. A basepage variable can't be initialized, as the basepage is RAM and is
  1081. not initialized at program start.
  1082. %can't initialize arg
  1083. A function argument can't have an initialiser. The initialisation of
  1084. the argument happens when the function is called and a value is
  1085. provided for the argument by the calling function.
  1086. %can't mix proto and non-proto args
  1087. A function declaration can only have all prototyped arguments (i.e.
  1088. with types inside the parentheses) or all K&R style args (i.e. only
  1089. names inside the parentheses and the argument types in a declaration
  1090. list before the start of the function body).
  1091. %can't open
  1092. A file can't be opened - check spelling.
  1093. %can't open *
  1094. The named file could not be opened. Check the spelling and the
  1095. directory path. This can also be caused by running out of memory.
  1096. %can't open * file *
  1097. The assembler could not open an include or source file. Check the
  1098. spelling.
  1099. %can't open avmap file *
  1100. A file required for producing Avocet format symbol files
  1101. is missing. Try re-installing the compiler.
  1102. %can't open command file *
  1103. The command file specified could not be opened
  1104. for reading. Check spelling!
  1105. %can't open file *
  1106. The named file could not be opened. Check spelling. This can
  1107. also be caused by running out of memory.
  1108. %can't open include file *
  1109. The named include file could not be opened. Check spelling.
  1110. This can also be caused by running out of memory, or running
  1111. out of file handles.
  1112. %can't reopen *
  1113. The compiler could not reopen a temporary file it had just created.
  1114. %can't take address of register variable
  1115. A variable declared "register" may not have storage allocated for it
  1116. in memory, and thus it is illegal to attempt to take the address of
  1117. it by applying the "&" operator.
  1118. %can't take sizeof func
  1119. Functions don't have sizes, so you can't take use the "sizeof"
  1120. operator on a function.
  1121. %can't take this address
  1122. The expression which was the object of the "&" operator is not one
  1123. that denotes memory storage ("an lvalue") and therefore its address
  1124. can not be defined.
  1125. %can't use a string in an #if
  1126. The preprocessor does not allow the use of strings in #if
  1127. expressions.
  1128. %cannot get memory
  1129. The linker is out of memory! This is unlikely
  1130. to happen, but removing TSR's etc is the cure.
  1131. %cannot open
  1132. A file cannot be opened - check spelling.
  1133. %cannot open *
  1134. The file specified cannot be opened. Check spelling.
  1135. %cannot open include file *
  1136. The named include file could not be opened for
  1137. reading by the preprocessor. Check the spelling of the
  1138. filename. If it is a standard header file, not in the
  1139. current directory, then the name should be enclosed in
  1140. angle brackets (<>) not quotes.
  1141. %cast type must be scalar or void
  1142. A typecast (an abstract type declarator enclosed in parentheses)
  1143. must denote a type which is either scalar (i.e. not an array or a
  1144. structure) or the type "void".
  1145. %char const too long
  1146. A character constant enclosed in single quotes may not contain more
  1147. than one character.
  1148. %close error (disk space?)
  1149. When the compiler closed a temporary file, an error was reported.
  1150. The most likely cause of this is that there was insufficient space
  1151. on disk for the file. Note that temporary files may be created on a
  1152. RAM disk, so even if your hard disk has ample space it is still
  1153. possible to get this error.
  1154. %closing quote expected
  1155. A newline (end of line) was encountered before a matching closing
  1156. quote was seen. This could be caused by the closing quote having
  1157. been omitted, or by an extra quote character being inserted in the
  1158. string without an escape character (\\) preceding it.
  1159. %common symbol psect conflict: *
  1160. A common symbol has been defined to be in more than
  1161. one psect.
  1162. %complex relocation not supported for -r or -l options yet
  1163. The linker was given a -R or -L option with file that
  1164. contain complex relocation. This is not yet supported.
  1165. %conflicting fnconf records
  1166. This is probably caused by multiple run-time startoff
  1167. module. Check the linker arguments, or "Object Files..." in HPD.
  1168.  
  1169. %conflicting operand sizes
  1170. This instruction has more than one operand size specified.
  1171. They are incompatible.
  1172. %constant conditional branch
  1173. A conditional branch (generated by an "if" statement etc.)
  1174. always follows the same path. This may indicate an expression
  1175. with missing or badly placed parentheses, causing the evaluation
  1176. to yield a value different to what you expected, or it may be
  1177. because you have written something like "while(1)". To produce
  1178. an infinite loop, use "for(;;)".
  1179. %constant conditional branch: possible use of = instead of == 
  1180. There is an expression inside an if or other conditional construct, where
  1181. a constant is being assigned to a variable. This may mean you have inadvertentley
  1182. used an assignment (=) instead of a compare (==).
  1183. %constant expression required
  1184. In this context an expression is required that can be evaluated to a
  1185. constant at compile time.
  1186. %constant left operand to ?
  1187. The left operand to a conditional operator (?) is constant, thus the result of
  1188. the tertiary operator ?: will always be the same.
  1189. %constant operand to || or &&
  1190. One operand to the logical operators || or && is a constant. Check
  1191. the expression for missing or badly placed parentheses.
  1192. %constant relational expression
  1193. There is a relational expression that will always be true or false. This may be
  1194. because e.g. you are comparing an unsigned number with a negative value, or
  1195. comparing a variable with a value greater than the largest number it can
  1196. represent.
  1197. %control line * within macro expansion
  1198. A preprocessor control line (one starting with a #) has been
  1199. encountered while expanding a macro. This should not happen.
  1200. %declaration of * hides outer declaration
  1201. An object has been declared that has the same name as an outer
  1202. declaration (i.e. one outside and preceding the current function or
  1203. block). This is legal, but can lead to accidental use of one variable
  1204. when the outer one was intended.
  1205. %declarator too complex
  1206. This declarator is too complex for the compiler to handle. Examine
  1207. the declaration and find a way to simplify it. If the compiler finds
  1208. it too complex, so will anybody maintaining the code.
  1209. %default case redefined
  1210. There is only allowed to be one "default" label in a switch
  1211. statement. You have more than one.
  1212. %deff not supported in cp/m version
  1213. The CP/M hosted assembler does not support floating point.
  1214. %degenerate signed comparison
  1215. There is a comparision of a signed value with the most negative value possible
  1216. for this type, such that the comparision will always be true or false. E.g.
  1217.  
  1218. char    c;
  1219.  
  1220. if(c >= -128)
  1221.  
  1222. will always be true, because an 8 bit signed char has a maximum negative value
  1223. of -128.
  1224. %degenerate unsigned comparison
  1225. There is a comparision of an unsigned value with zero, which will always be
  1226. true or false. E.g.
  1227.  
  1228. unsigned char    c;
  1229.  
  1230. if(c >= 0)
  1231.  
  1232. will always be true, because an unsigned value can never be less than zero.
  1233.  
  1234. %digit out of range
  1235. A digit in this number is out of range of the radix for the number,
  1236. e.g. using the digit 8 in an octal number, or hex digits A-F in a
  1237. decimal number. An octal number is denoted by the digit string
  1238. commencing with a zero, while a hex number starts with "0X" or "0x".
  1239. %dimension required
  1240. Only the most significant (i.e. the first) dimension in a
  1241. multi-dimension array may not be assigned a value. All succeeding
  1242. dimensions must be present.
  1243. %direct addressing required
  1244. Direct or indexed addressing is required for bit operations.
  1245. Extended addressing cannot be used.
  1246. %directive not recognized
  1247. An assembler directive is unrecognized. Check spelling.
  1248. %divide by zero in #if, zero result assumed
  1249. Inside a #if expression, there is a division by
  1250. zero which has been treated as yielding zero.
  1251. %division by zero
  1252. A constant expression that was being evaluated involved a division by zero.
  1253. %double float argument required
  1254. The printf format specifier corresponding to this argument is %f or similar,
  1255. and requires a floating point expression. Check for missing or extra
  1256. format specifiers or arguments to printf.
  1257. %duplicate -d flag
  1258. Only one -d flag can be given to the linker.
  1259. %duplicate -d or -h flag
  1260. The linker will accept only one -d or -h option
  1261. with a file name.
  1262. %duplicate -m flag
  1263. The linker only likes to see one -m flag, unless one
  1264. of them does not specify a file name. Two map file names
  1265. are more than it can handle!
  1266. %duplicate base register
  1267. Only one base register, i.e. only one of BP and BX may
  1268. be used in a 16 bit indexed addressing form.
  1269. %duplicate case label
  1270. There are two case labels with the same value in this switch statement.
  1271. %duplicate case label *
  1272. There is more than one case label with this value in a switch statement.
  1273. %duplicate displacement in operand
  1274. The operand on this instruction has two offsets. Only one
  1275. is permitted.
  1276. %duplicate fnconf directive
  1277. This is an internal code generator error. Contact HI-TECH technical
  1278. support with full details of the code that caused this error.
  1279. %duplicate index register
  1280. Only one index register (SI or DI) may be used in a 16 bit
  1281. indexed form.
  1282. %duplicate label *
  1283. The same name is used for a label more than once in this function.
  1284. Note that the scope of labels is the entire function, not just the
  1285. block that encloses a label.
  1286. %duplicate qualifier
  1287. There are two occurences of the same qualifier in this type specification.
  1288. This can occur either directly or through the use of a typedef. Remove
  1289. the redundant qualifier.
  1290. %duplicate qualifier key *
  1291. This qualifier key (given via a -Q option, has been used twice.
  1292. %duplicate qualifier key * (*)
  1293. P1 has been given a duplicate qualifer key by the compiler driver. This
  1294. should not occur if the standard driver is being used.
  1295. %duplicate qualifier name *
  1296. A duplicate qualifier name has been specified to P1 via a -Q option. This
  1297. should not occur if the standard compiler drivers are used.
  1298. %duplicate qualifier*
  1299. There are two qualifiers with the same name or key letter.
  1300. %end of file within macro argument
  1301. A macro argument has not been terminated. This probably means the closing
  1302. parenthesis has been omitted from a macro invocation.
  1303. %end statement inside include file or macro
  1304. An end statement has been encountered inside an include file
  1305. or macro. There should be one end statement only, at the end
  1306. of the main source file.
  1307. %entry point multiply defined
  1308. There is more than one entry point defined in the object
  1309. files given the linker.
  1310. %enum tag or { expected
  1311. After the keyword "enum" must come either an identifier that is or
  1312. will be defined as an enum tag, or an opening brace.
  1313. %eof in #asm
  1314. An end of file has been encountered inside a #asm block. This
  1315. probably means the #endasm is missing or misspelt.
  1316. %eof inside conditional
  1317. END-of-FILE was encountered while scanning for an "endif"
  1318. to match a previous "if".
  1319. %eof inside macro def'n
  1320. End-of-file was encountered while processing a macro definition.
  1321. This means there is a missing "endm" directive.
  1322. %eof on string file
  1323. P1 has encountered an unexpected end-of-file while re-reading its file
  1324. used to store constant strings before sorting and merging. This is most
  1325. probably due to running out of disk space. Check free disk space, OR
  1326. RAM disk size. The RAM disk may be too small, if it is used for
  1327. temporary files.
  1328. %error closing output file
  1329. The compiler detected an error when closing a file. This most
  1330. probably means there is insufficient disk space, but note that the
  1331. file could be on a RAM disk, so even if you have ample space on your
  1332. hard disk, this error can still occur. If this is the case, increase
  1333. the size of your ram disk or move your temporary file area onto
  1334. the hard disk.
  1335. %error in format string
  1336. There is an error in the format string here. The string has been
  1337. interpreted as a printf() style format string, and it is not
  1338. syntactically correct. If not corrected, this will cause unexpected
  1339. behaviour at run time.
  1340. %esp not permitted as index register
  1341. ESP is not permitted as an index register.
  1342. %expand - bad how
  1343. This is an internal code generator error. Contact HI-TECH technical
  1344. support with full details of the code that caused this error.
  1345. %expand - bad which
  1346. This is an internal code generator error. Contact HI-TECH technical
  1347. support with full details of the code that caused this error.
  1348. %expected '-' in -a spec
  1349. There should be a minus sign (-) between the high and
  1350. low addresses in a -A spec, e.g.
  1351.  
  1352. -AROM=1000h-1FFFh
  1353. %exponent expected
  1354. A floating point constant must have at least one digit after the "e"
  1355. or "E".
  1356. %expression error
  1357. There is a syntax error in this expression, OR
  1358. there is an error in the intermediate code file. This could be
  1359. caused by running of disk (or RAMdisk) space.
  1360. %expression generates no code
  1361. This expression generates no code. Check for things like leaving
  1362. off the parentheses in a function call.
  1363. %expression stack overflow at op *
  1364. Expressions in #if lines are evaluated using a stack with a size
  1365. of 128. It is possible for very complex expressions to overflow
  1366. this. Simplify the expression.
  1367. %expression syntax
  1368. This expression is badly formed and cannot be parsed by the
  1369. compiler.
  1370. %expression too complex
  1371. This expression has caused overflow of the compiler's internal stack
  1372. and should be re-arranged or split into two expressions.
  1373. %external declaration inside function
  1374. A function contains an "extern" declaration. This is legal but is
  1375. invariably A Bad Thing as it restricts the scope of the function
  1376. declaration to the function body. This means that if the compiler
  1377. encounters another declaration, use or definition of the extern
  1378. object later in the same file, it will no longer have the earlier
  1379. declaration and thus will be unable to check that the declarations
  1380. are consistent. This can lead to strange behaviour of your program
  1381. or signature errors at link time. It will also hide any previous
  1382. declarations of the same thing, again subverting the compiler's type
  1383. checking. As a general rule, always declare "extern" variables and
  1384. functions outside any other functions.
  1385. %fail directive: *
  1386. A programmer generated FAIL directive has been assembled. This
  1387. normally is used as a configuration safeguard.
  1388. %filename work buffer overflow
  1389. A filename constructed while looking for an include
  1390. file has exceeded the length of an internal buffer. Since
  1391. this buffer is 4096 bytes long, this is unlikely to happen.
  1392. %fixup overflow referencing *
  1393. The linker was asked to relocate (fixup) an item that would
  1394. not fit back into the space after relocation. For example this
  1395. will occur if a byte size object is initialized with an address
  1396. that is bigger than 255.
  1397. %fixup overflow referencing * 
  1398. An attempt was made to fixup (relocate) an address, but
  1399. the resultant value was too large to fit in the space
  1400. allowed. This is probably caused by some user-written
  1401. assembler, or by incorrect addresses at link time, or
  1402. by code exceeding the maximum size (e.g. > 64K code
  1403. on a processor with a 16 bit address bus).
  1404. %flag * unknown
  1405. This option used on a "PSECT" directive is unknown to the assembler.
  1406. %float param coerced to double
  1407. Where a non-prototyped function has a parameter declared as "float",
  1408. the compiler convert this into a "double float". This is because the
  1409. default C type conversion conventions provide that when a floating
  1410. point number is passed to a non-prototyped function, it will be
  1411. converted to double. It is important that the function declaration
  1412. be consistent with this convention.
  1413. %floating exponent too large
  1414. The exponent of the floating point number is too large. For the Z80 the
  1415. largest floating point exponent is decimal 19.
  1416. %floating number expected
  1417. The arguments to the "DEFF" pseudo-op must be valid floating point
  1418. numbers.
  1419. %form length must be >= 15
  1420. The length of the listing page must be at least
  1421. 15 lines. You can't get a decent listing otherwise!
  1422. %formal parameter expected after #
  1423. The stringization operator # (not to be confused with the leading #
  1424. used for preprocessor control lines) must be followed by a formal
  1425. macro parameter. If you need to stringize a token, you will need to
  1426. define a special macro to do it, e.g.
  1427.  
  1428. #define    __mkstr__(x)    #x
  1429.  
  1430. then use __mkstr__(token) wherever you need to convert a token
  1431. into a string.
  1432. %function * appears in multiple call graphs: rooted at *
  1433. This function can be called from both main line code and
  1434. interrupt code. Use the reentrant keyword, if this compiler
  1435. supports it, or recode to avoid using local variables
  1436. or parameters, or duplicate the function.
  1437. %function * is never called
  1438. This function is never called. This may not represent a problem,
  1439. but space could be saved by removing it. If you believe this function
  1440. should be called, check your source code.
  1441. %function body expected
  1442. Where a function declaration is encountered with K&R style arguments
  1443. (i.e. argument names but no types inside the parentheses) a function
  1444. body is expected to follow.
  1445. %function declared implicit int
  1446. Where the compiler encounters a function call of a function whose
  1447. name is presently undefined, the compiler will automatically declare
  1448. the function to be of type "int", with unspecified (K&R style)
  1449. parameters. If a definition of the function is subsequently
  1450. encountered, it is possible that its type and arguments will be
  1451. different from the earlier implicit declaration, causing a compiler
  1452. error. The solution is to ensure that all functions are defined or
  1453. at least declared before use, preferably with prototyped parameters.
  1454. If it is necessary to make a forward declaration of a function, it
  1455. should be preceded with the keywords "extern" or "static" as
  1456. appropriate.
  1457. %function does not take arguments
  1458. This function has no parameters, but it is called here with
  1459. one or more arguments.
  1460. %function is already 'extern'; can't be 'static'
  1461. This function was already declared extern, possibly through an implicit
  1462. declaration. It has now been redeclared static, but this redeclaration is
  1463. invalid. If the problem has arisen because of use before definition, either
  1464. move the definition earlier in the file, or place a static forward definition
  1465. earlier in the file, e.g.
  1466.  
  1467. static int fred(void);
  1468. %function or function pointer required
  1469. Only a function or function pointer can be the subject of a function
  1470. call. This error can be produced when an expression has a syntax
  1471. error resulting in a variable or expression being followed by an
  1472. opening parenthesis ("(") which denotes a function call.
  1473. %function's local data too large
  1474. The size of the stack frame for this function is greater than that
  1475. allowable. The size is limited by the size of the internal RAM on the
  1476. 8051.
  1477. %functions can't return arrays
  1478. A function can return only a scalar (simple) type or a structure. It cannot
  1479. return an array.
  1480. %functions can't return functions
  1481. A function cannot return a function. It can return a function
  1482. pointer. A function returning a pointer to a function could be
  1483. declared like this: int (* (name()))(). Note the many parentheses
  1484. that are necessary to make the parts of the declaration bind
  1485. correctly.
  1486. %functions nested too deep
  1487. This error is unlikely to happen with C code, since C cannot
  1488. have nested functions!
  1489. %garbage after operands
  1490. There is something on this line after the operands other
  1491. than a comment. This could indicate an operand error.
  1492. %garbage on end of line
  1493. There were non-blank and non-comment characters after the end of the operands
  1494. for this instruction. Note that a comment must be started with a semicolon.
  1495. %hc11 and h301 are incompatible
  1496. The options HC11 and H301 cannot be used together, since these
  1497. two processors have incompatible instruction sets.
  1498. %hex digit expected
  1499. After "0x" should follow at least one of the hex digits 0-9 and A-F
  1500. or a-f.
  1501. %ident records do not match
  1502. The object files passed to the linker do not have matching ident
  1503. records. This means they are for different processor types.
  1504. %identifier expected
  1505. Inside the braces of an "enum" declaration should be a
  1506. comma-separated list of identifiers.
  1507. %identifier redefined: *
  1508. This identifier has already been defined. It cannot be defined
  1509. again.
  1510. %identifier redefined: * (from line *)
  1511. This identifier has been defined twice. The 'from line ' value
  1512. is the line number of the first declaration.
  1513. %illegal # command *
  1514. The preprocessor has encountered a line starting with #, but which is not
  1515. followed by a recognized control keyword. This probably means the keyword
  1516. has been misspelt. Legal control keywords are:
  1517.  
  1518. assert  asm     define  elif    else    endasm
  1519. endif   error   if      ifdef   ifndef  include
  1520. line    pragma  undef
  1521. %illegal #if line
  1522. There is a syntax error in the expression following #if.
  1523. Check the expression to ensure it is properly constructed.
  1524. %illegal #undef argument
  1525. The argument to #undef must be a valid name. It must start
  1526. with a letter.
  1527. %illegal '#' directive
  1528. The compiler does not understand the "#" directive. It is probably a
  1529. misspelling of a pre-processor "#" directive.
  1530. %illegal -o flag
  1531. This -o flag is illegal. A -o option to the linker
  1532. must have a filename. There should be no space between the filenam
  1533. and the -o, e.g.
  1534.  
  1535. -ofile.obj
  1536. %illegal -p flag
  1537. The -p flag needs stuff after it. This is used for defining
  1538. psect mapping to the linker.
  1539. %illegal addressing mode
  1540. This addressing mode is not permitted.
  1541. %illegal character (*)
  1542. An illegal character has been encountered in the input. The value in
  1543. parentheses is the octal value of the character. Locate the line
  1544. and remove the character.
  1545. %illegal character (0*)
  1546. There is an illegal character in the input. This is the octal
  1547. code for the character.
  1548. %illegal character * in #if
  1549. There is a character in a #if expression that has no business
  1550. being there. Valid characters are the letters, digits and those
  1551. comprising the acceptable operators.
  1552. %illegal conversion
  1553. This expression implies a conversion between imcompatible types,
  1554. e.g. a conversion of a structure type into an integer.
  1555. %illegal conversion between pointer types
  1556. A pointer of one type (i.e. pointing to a particular kind of object)
  1557. has been converted into a pointer of a different type. This will
  1558. usually mean you have used the wrong variable, but if this is
  1559. genuinely what you want to do, use a typecast to inform the compiler
  1560. that you want the conversion and the warning will be suppressed.
  1561. %illegal conversion of integer to pointer
  1562. An integer has been assigned to or otherwise converted to a pointer
  1563. type. This will usually mean you have used the wrong variable,
  1564. but if this is
  1565. genuinely what you want to do, use a typecast to inform the compiler
  1566. that you want the conversion and the warning will be suppressed.
  1567. %illegal conversion of pointer to integer
  1568. A pointer has been assigned to or otherwise converted to a integral
  1569. type. This will usually mean you have used the wrong variable,
  1570. but if this is
  1571. genuinely what you want to do, use a typecast to inform the compiler
  1572. that you want the conversion and the warning will be suppressed.
  1573. %illegal flag *
  1574. This flag is unrecognized.
  1575. %illegal function qualifier(s)
  1576. A qualifier such as "const" or "volatile" has been applied to a
  1577. function. These qualifiers only make sense when used with an lvalue
  1578. (i.e. an expression denoting memory storage). Perhaps you left out a
  1579. star ("*") indicating that the function should return a pointer to a
  1580. qualified object.
  1581. %illegal indirect addressing
  1582. Indirect addressing is allowed in the 8051 assembler only with
  1583. certain operands:
  1584.  
  1585.     mov    a,@Rn    where Rn is R0 or R1
  1586.     movx    a,@dptr
  1587.     movc    a,@a+dptr
  1588. %illegal initialisation
  1589. You can't initialise a "typedef" declaration, because it does not
  1590. reserve any storage that could be initialised.
  1591. %illegal or too many -p flags
  1592. There are too many -p options to the linker. Combine
  1593. some of them.
  1594. %illegal record type
  1595. There is an error in an object file. This is either an invalid object
  1596. file, or an internal error in the linker. Try recreating the object file.
  1597. %illegal register for indirection
  1598. An operand has indirection on a register that is not permitted
  1599. to be used for indirection.
  1600. %illegal relocation size: *
  1601. There is an error in the object code format read by the linker. This
  1602. either means you are using a linker that is out of date, or that
  1603. there is an internale error in the assembler or linker.
  1604. %illegal relocation type: *
  1605. An object file contained a relocation record with an illegal relocation type.
  1606. This probably means the file is corrupted or not an object file.
  1607. %illegal stack index
  1608. The index used in a cop-processor instruction must be
  1609. an absolute value 0-7.
  1610. %illegal switch *
  1611. This command line option was not understood.
  1612. %illegal type for array dimension
  1613. An array dimension must be either an integral type or an enumerated
  1614. value.
  1615. %illegal type for index expression
  1616. An index expression must be either integral or an enumerated value.
  1617. %illegal type for switch expression
  1618. A "switch" operation must have an expression that is either an
  1619. integral type or an enumerated value.
  1620. %illegal use of void expression
  1621. A void expression has no value and therefore you can't use it
  1622. anywhere an expression with a value is required, e.g. as an operand
  1623. to an arithmetic operator.
  1624. %image too big
  1625. The program image being constructed by objtohex is too big
  1626. for its virtual memory system.
  1627. %implicit conversion of float to integer
  1628. A floating point value has been assigned or otherwise converted to
  1629. an integral type. This could result in truncation of the floating
  1630. point value. A typecast will make this warning go away.
  1631. %implicit return at end of non-void function
  1632. A function which has been declared to return a value has an
  1633. execution path that will allow it to reach the end of the function
  1634. body, thus returning without a value. Either insert a return
  1635. statement with a value, or if the function is not to return a value,
  1636. declare it "void".
  1637. %implict signed to unsigned conversion
  1638. A signed number is being assigned or otherwise converted to a larger
  1639. unsigned type. Under the ANSI "value preserving" rules, this will
  1640. result in the signed value being first sign-extended to a signed
  1641. number the size of the target type, then converted to unsigned
  1642. (which involves no change in bit pattern). Thus an unexpected sign
  1643. extension can occur. To ensure this does not happen, first convert
  1644. the signed value to an unsigned equivalent, e.g. if you want to
  1645. assign a signed char to an unsigned int, first typecast the char
  1646. value to "unsigned char".
  1647. %inappropriate 'else'
  1648. An "else" keyword has been encountered that cannot be associated
  1649. with an "if" statement. This may mean there is a missing brace or
  1650. other syntactic error.
  1651. %inappropriate break/continue
  1652. A "break" or "continue" statement has been found that is not
  1653. enclosed in an appropriate control structure. "continue" can only be
  1654. used inside a "while", "for" or "do while" loop, while "break" can
  1655. only be used inside those loops or a "switch" statement.
  1656. %include files nested too deep
  1657. Macro expansions  and include file handling have filled up the assembler's
  1658. internal stack. The maximum number of open macros and include files is 30.
  1659. %incompatible intermediate code version; should be *
  1660. The intermediate code file produced by P1 is not the correct version for
  1661. use with this code generator. This is either that incompatible versions of
  1662. one or more compilers have been installed in the same directory, or
  1663. a temporary file error has occured leading to corruption of a temporary
  1664. file. Check the setting of the TEMP environment variable. If it
  1665. refers to a long path name, change it to something shorter.
  1666. %incompatible intermediate code version; should be *.*
  1667. This error may indicate that the code generator is imcompatible with the first
  1668. pass (P1). This could occur if you installed an old compiler in the same
  1669. directory as a newer compiler for a different processor. Use separate installation
  1670. directories.
  1671. %incomplete * record body: length = *
  1672. An object file contained a record with an illegal size.
  1673. This probably means the file is truncated or not an object file.
  1674. %incomplete record
  1675. The object file passed to objtohex is corrupted.
  1676. %incomplete record: *
  1677. An object code record is incomplete. This is probably due
  1678. to a corrupted or invalid object module. Re-compile the source
  1679. file, watching for out of disk space errors etc.
  1680. %incomplete record: type = * length = *
  1681. This indicates that the object file is not a valid
  1682. HI-TECH object file, or that it has been truncated,
  1683. possibly due to running out of disk or RAMdisk space.
  1684.  
  1685. %inconsistent storage class
  1686. A declaration has conflicting storage classes. Only one storage
  1687. class should appear in a declaration.
  1688. %inconsistent type
  1689. Only one basic type may appear in a declaration, thus combinations
  1690. like "int float" are illegal.
  1691. %index offset too large
  1692. An offset on a Z80 indexed addressing form must lie in the range -128 to 127.
  1693. %indirection on illegal register
  1694. Indirection on this register is not possible.
  1695. %initialisation syntax
  1696. The initialisation of this object is syntactically incorrect. Check
  1697. for the correct placement and number of braces and commas.
  1698. %initializer in 'extern' declaration
  1699. A declaration containing the keyword "extern" has an initialiser.
  1700. This overrides the "extern" storage class, since to initialise an
  1701. object it is necessary to define (i.e. allocate storage for ) it.
  1702. %insufficient memory for macro def'n
  1703. There is not sufficient memory to store a macro definition.
  1704. %integer constant expected
  1705. A colon appearing after a member name in a structure declaration
  1706. indicates that the member is a bitfield. An integral constant must
  1707. appear after the colon to define the number of bits in the
  1708. bitfield.
  1709. %integer expression required
  1710. In an "enum" declaration, values may be assigned to the members, but
  1711. the expression must evaluate to a constant of type "int".
  1712. %integral argument required
  1713. An integral argument is required for this format specifier. Check
  1714. the number and order of format specifiers and corresponding arguments.
  1715. %integral type required
  1716. This operator requires operands that are of integral type only.
  1717. %invalid disable: *
  1718. This is an internal preprocessor error that should not occur.
  1719.  
  1720. %invalid number syntax
  1721. The syntax of a number is invalid. This can be, e.g. use of 8 or 9
  1722. in an octal number, or other malformed numbers.
  1723. %invalid operand size
  1724. The operand size specified for this instruction is
  1725. invalid. Check the programmers reference manual for this chip.
  1726. %invalid short addressing
  1727. Short addressing (e.g. 8 bit PC relative) has been used where this
  1728. is not possible.
  1729. %invalid short addressing override
  1730. A short addressing override has been used in conjunction with an addressing
  1731. mode that makes this invalid.
  1732. %jump out of range
  1733. A short jump ("JR") instruction has been given an address that is more than
  1734. 128 bytes away from the present location. Use the "JP" opcode instead.
  1735. %jump target out of range
  1736. The address that this jump refers to is too far away to be
  1737. reached by this jump. Use a longer jump form, or a short
  1738. branch around a direct jump.
  1739. %label identifier expected
  1740. An identifier denoting a label must appear after "goto".
  1741. %large stack offset for *
  1742. The named variable has been allocated on the stack at an offset greater than
  1743. 128. This will still work correctly, but will result in larger, slower
  1744. code. It is recommended that any auto (local to a function) variables be
  1745. declared before any arrays. Having an array at a large offset does not
  1746. cause any problems.
  1747. %lexical error
  1748. An unrecognized character or token has been seen in the input.
  1749. %line does not have a newline on the end
  1750. The last line in the file is missing the newline (linefeed, hex 0A)
  1751. from the end. Some editors will create such files, which can cause
  1752. problems for include files. The ANSI C standard requires all source
  1753. files to consist of complete lines only.
  1754. %line too long
  1755. This line is too long. It will not fit into the compiler's internal
  1756. buffers. It would require a line over 1000 characters long to do
  1757. this, so it would normally only occur as a result of macro
  1758. expansion.
  1759. %local illegal outside macros
  1760. The "LOCAL" directive is only legal inside macros. It defines local labels
  1761. that will be unique for each invocation of the macro.
  1762. %local psect '*' conflicts with global psect of same name
  1763. A local psect may not have the same name as a global psect.
  1764. %logical type required
  1765. The expression used as an operand to "if", "while" statements or to
  1766. boolean operators like ! and && must be a scalar integral type.
  1767. %long argument required
  1768. A long argument is required for this format specifier. Check the number
  1769. and order of format specifiers and corresponding arguments.
  1770. %macro * wasn't defined
  1771. A macro name specified in a -U option to the preprocessor was not
  1772. initially defined, and thus cannot be undefined.
  1773. %macro argument after % must be absolute
  1774. If the charactyer "%" is used to force evaluation of macro argument, the
  1775. argument must be an expression that evaluates to an absolute constant.
  1776. %macro argument may not appear after local
  1777. The list of labels after the directive "LOCAL" may not include any of the
  1778. formal parameters to the macro.
  1779. %macro expansions nested too deep
  1780. Macro expansions in the assembler are nested too deep. The limit is
  1781. 30 macros and include files nested at one time.
  1782. %macro name used as symbol
  1783. A macro name has been used as a symbol. This is not permitted as the macro
  1784. name does not have a simple value.
  1785. %macro work area overflow
  1786. The total length of a macro expansion has exceeded the size of
  1787. an internal table. This table is normally 8192 bytes long. Thus
  1788. any macro expansion must not expand into a total of more than 8K bytes.
  1789. %member * redefined
  1790. This name of this member of the struct or union has already been
  1791. used in this struct or union.
  1792. %members cannot be functions
  1793. A member of a structure or a union may not be a function. It may be
  1794. a pointer to a function. The correct syntax for a function pointer
  1795. requires the use of parentheses to bind the star ("*") to the
  1796. pointer name, e.g. "int (*name)();".
  1797. %metaregister * can't be used directly
  1798. This is an internal compiler error. Contact HI-TECH Software technical support.
  1799. %mismatched comparision
  1800. A comparison is being made between a variable or expression and a constant value
  1801. which is not in the range of possible values for that expression, e.g. if
  1802. you compare an unsigned character to the constant value 300, the result will
  1803. always be false (not equal) since an unsigned character can NEVER equal 300.
  1804. As an 8 bit value it can represent only 0-255.
  1805. %misplaced '?' or ':', previous operator is *
  1806. A colon operator has been encountered in a #if expression
  1807. that does not match up with a corresponding ? operator. Check
  1808. parentheses etc.
  1809. %misplaced constant in #if
  1810. A constant in a #if expression should only occur in syntactically
  1811. correct places. This error is most probably caused by omission of
  1812. an operator.
  1813. %missing ')'
  1814. A closing parenthesis was missing from this expression.
  1815. %missing '=' in class spec
  1816. A class spec needs an = sign, e.g.
  1817.  
  1818. -Ctext=ROM
  1819. %missing ']'
  1820. A closing square bracket was missing from this expression.
  1821. %missing arg to -a
  1822. The -a option requires the name of a qualifier as an argument.
  1823. %missing arg to -u
  1824. The -U (undefine)  option needs an argument, e.g.
  1825.  
  1826. -U_symbol
  1827. %missing arg to -w
  1828. The -W option (listing width) needs
  1829. a numeric argument.
  1830. %missing argument to 'pragma psect'
  1831. The pragma 'psect' requires an argument of the form oldname=newname
  1832. where oldname is an existing psect name known to the compiler, and
  1833. newname is the desired new name. Example:
  1834.  
  1835. #pragma psect    bss=battery
  1836. %missing basic type: int assumed
  1837. This declaration does not include a basic type, so int has
  1838. been assumed. This declaration is not illegal, but it is
  1839. preferable to include a basic type to make it clear what
  1840. is intended.
  1841. %missing key in avmap file
  1842. A file required for producing Avocet format symbol
  1843. files is corrupted. Try re-installing the compiler.
  1844. %missing memory key in avmap file
  1845. A file required for producing Avocet format symbol
  1846. files is corrupted. Try re-installing the compiler.
  1847. %missing name after pragma 'inline'
  1848. The 'inline' pragma has the syntax:
  1849.  
  1850.     #pragma inline func_name
  1851.  
  1852. where func_name is the name of a function which is
  1853. to be expanded to inline code. This pragma has no
  1854. effect except on functions specially recognized by the
  1855. code generator.
  1856. %missing name after pragma 'printf_check'
  1857. The pragma 'printf_check', which enable printf style format string
  1858. checking for a function, requires a function name, e.g.
  1859.  
  1860. #pragma printf_check sprintf
  1861. %missing number after % in -p option
  1862. The % operator in a -p option (for rounding boundaries)
  1863. must have a number after it.
  1864. %missing number after pragma 'pack'
  1865. The pragma 'pack' requires a decimal number as argument. For example
  1866.  
  1867. #pragma pack(1)
  1868.  
  1869. will prevent the compiler aligning structure members onto anything
  1870. other than one byte boundaries. Use this with caution as some
  1871. processors enforce alignment and will not operate correctly if
  1872. word fetches are made on odd boundaries (e.g. 68000, 8096).
  1873. %missing operand size
  1874. The operand size for this instruction is missing. It must be
  1875. supplied.
  1876. %missing size for align
  1877. The size of alignment required has not been specified. Use
  1878. ALIGN.W for word alignment.
  1879. %missing size for dc
  1880. A DC directive requires a size specifier, e.g. DC.B for byte.
  1881. %mixed 16 and 32 bit index registers
  1882. An indexed addressing mode must use only 16 bit or only
  1883. 32 bit registers. They may not be used together.
  1884. %mod by zero in #if, zero result assumed
  1885. A modulus operation in a #if expression has a zero divisor. The
  1886. result has been assumed to be zero.
  1887. %module has code below file base of *
  1888. This module has code below the address given, but
  1889. the -C option has been used to specify that a binary
  1890. output file is to be created that is mapped to this
  1891. address. This would mean code from this module would have
  1892. to be placed before the beginning of the file! Check for
  1893. missing psect directives in assembler files.
  1894. %multi-byte constant * isn't portable
  1895. Multi-byte constants are not portable, and in fact will be
  1896. rejected by later passes of the compiler (this error comes
  1897. from the preprocessor).
  1898. %multiple free: *
  1899. This is an internal compiler error. Contact HI-TECH Software technical support.
  1900. %multiply defined symbol *
  1901. This symbol has been defined in more than one place in this module.
  1902. %multiply defined symbol: *
  1903. This symbol has been defined in more than one module.
  1904. %negative index offset
  1905. The index offset used here is negative. Index offsets must be
  1906. positive.
  1907. %nested comments
  1908. This warning is issued when nested comments are found.
  1909. A nested comment may indicate that a previous closing comment
  1910. marker is missing or malformed.
  1911. %no #asm before #endasm
  1912. A #endasm operator has been encountered, but there
  1913. was no previous matching #asm.
  1914. %no arg to -o
  1915. The assembler requires that an output file name argument be supplied after
  1916. the "-O" option. No space should be left between the -O and the filename.
  1917. %no case    labels
  1918. There are no case labels in this switch!
  1919. %no case labels
  1920. There are no case labels in this switch statement.
  1921. %no end record
  1922. This object file has no end record. This probably means
  1923. it is not an object file.
  1924. %no end record found
  1925. An object file did not contain an end record.
  1926. This probably means the file is corrupted or not an object file.
  1927. %no file argument
  1928. There was no file argument to the assembler.
  1929. %no file arguments
  1930. The assembler has been invoked without any file arguments. It cannot assemble
  1931. anything.
  1932. %no identifier in declaration
  1933. The identifier is missing in this declaration. This error can also
  1934. occur where the compiler has been confused by such things as missing
  1935. closing braces.
  1936. %no memory for string buffer
  1937. P1 was unable to allocate memory for the longest string encountered,
  1938. as it attempts to sort and merge strings. Try reducing the number or length
  1939. of strings in this module.
  1940. %no psect specified for function variable/argument allocation
  1941. This is probably caused by omission of correct run-time startoff
  1942. module. Check the linker arguments, or "Object Files..." in HPD.
  1943. %no space for macro def'n
  1944. The assembler has run out of memory.
  1945. %no start record: entry point defaults to zero
  1946. None of the object files passed to the linker contained a start record.
  1947. The start address of the program has been set to zero. This may be
  1948. harmless, but it is recommended that you define a start address in your
  1949. startup module by using the "END" directive.
  1950. %no. of arguments redeclared
  1951. The number of arguments in this function declaration does not agree
  1952. with a previous declaration of the same function.
  1953. %nodecount = *
  1954. This is an internal code generator error. Contact HI-TECH technical
  1955. support with full details of the code that caused this error.
  1956. %non-constant case label
  1957. A case label in this switch statement has a value which is not
  1958. a constant.
  1959. %non-prototyped function declaration: *
  1960. A function has been declared using old-style (K&R) arguments. It is
  1961. preferable to use prototype declarations for all functions. If the
  1962. function has no arguments, declare it as e.g. "int func(void)".
  1963. %non-scalar types can't be converted
  1964. You can't convert a structure, union or array to anything else. You
  1965. can convert a pointer to one of those things, so perhaps you left out
  1966. an ampersand ("&").
  1967. %non-void function returns no value
  1968. A function that is declared as returning a value has a "return"
  1969. statement that does not specify a return value.
  1970. %not a member of the struct/union *
  1971. This identifier is not a member of the structure or union type with
  1972. which it used here.
  1973. %not a variable identifier: *
  1974. This identifier is not a variable; it may be some other kind of
  1975. object, e.g. a label.
  1976. %not an argument: *
  1977. This identifier that has appeared in a K&R stype argument declarator
  1978. is not listed inside the parentheses after the function name. Check
  1979. spelling.
  1980. %object code version is greater than *
  1981. The object code version of an object module is higher than the highest
  1982. version the linker is known to work with. Check that you are using
  1983. the correct linker.
  1984. %object file is not absolute
  1985. The object file passed to objtohex has relocation items in it.
  1986. This may indicate it is the wrong object file, or that the
  1987. linker or objtohex have been given invalid options.
  1988. %one segment override only permitted
  1989. Only one segment override is permitted in an instruction.
  1990. %only functions may be qualified interrupt
  1991. The qualifier "interrupt" may not be applied to anything except a
  1992. function.
  1993. %only functions may be void
  1994. A variable may not be "void". Only a function can be "void".
  1995. %only lvalues may be assigned to or modified
  1996. Only an lvalue (i.e. an identifier or expression directly denoting
  1997. addressable storage) can be assigned to or otherwise modified. A
  1998. typecast does not yield an lvalue. To store a value of different
  1999. type into a variable, take the address of the variable, convert it
  2000. to a pointer to the desired type, then dereference that pointer,
  2001. e.g. "*(int *)&x = 1" is legal whereas "(int)x = 1" is not.
  2002. %only register storage class allowed
  2003. The only storage class allowed for a function parameter is
  2004. "register".
  2005. %oops! -ve number of nops required!
  2006. An internal error has occured. Contact HI-TECH.
  2007. %operand error
  2008. The operand to this opcode is invalid. Check you assembler reference manual
  2009. for the proper form of operands for this instruction.
  2010. %operand size undefined
  2011. The size of an operand is neither explicitly defined, nor can the
  2012. assembler determine it from register usage. Add an explicit ,word or ,byte
  2013. or whatever.
  2014. %operands of * not same pointer type
  2015. The operands of this operator are of different pointer types. This
  2016. probably means you have used the wrong pointer, but if the code is
  2017. actually what you intended, use a typecast to suppress the error
  2018. message.
  2019. %operands of * not same type
  2020. The operands of this operator are of different pointer. This
  2021. probably means you have used the wrong variable, but if the code is
  2022. actually what you intended, use a typecast to suppress the error
  2023. message.
  2024. %operator * in incorrect context
  2025. An operator has been encountered in a #if expression
  2026. that is incorrectly placed, e.g. two binary operators are
  2027. not separated by a value.
  2028. %option not supported
  2029. This is option is currently not supported.
  2030. %out of far memory
  2031. The compiler has run out of far memory. Try removing TSR's etc. If your
  2032. system supports EMS memory, the compiler will be able to use up to 64K
  2033. of this, so if it is not enable, try enabling EMS.
  2034. %out of far memory (wanted * bytes)
  2035. The code generator could not allocate any more far memory. Try reducing
  2036. the memory used by TSR's etc.
  2037. %out of memory
  2038. The compiler has run out of memory. If you have unnecessary TSRs
  2039. loaded, remove them. If you are running the compiler from inside
  2040. another program, try running it directly from the command prompt.
  2041. Similarly, if you are using HPD, try using the command line compiler
  2042. driver instead.
  2043. %out of near memory
  2044. The compiler has run out of near memory. This is probably due to
  2045. too many symbol names. Try splitting the program up, or reducing
  2046. the number of unused symbols in header files etc.
  2047. %out of space in macro * arg expansion
  2048. A macro argument has exceeded the length of an internal
  2049. buffer. This buffer is normally 4096 bytes long.
  2050. %output file cannot be also an input file
  2051. The linker has detected an attempt to write its output file
  2052. over one of its input files. This cannot be done, because it needs to
  2053. simultaneously read and write input and output files.
  2054. %page width must be >= 41
  2055. The listing page widthe must be at least 41 characters. Any less will not
  2056. allow a properly formatted listing to be produced.
  2057. %phase error
  2058. The assembler has calculated a different value for a symbol
  2059. on two different passes. This is probably due to bizarre use
  2060. of macros or conditional assembly.
  2061. %phase error in macro args
  2062. The assembler has detected a difference in the definition of a symbol on
  2063. the first and a subsequent pass.
  2064. %phase error on temporary label
  2065. The assembler has detected a difference in the definition of a symbol on
  2066. the first and a subsequent pass.
  2067. %pointer required
  2068. A pointer is required here. This often means you have used "->" with
  2069. a structure rather than a structure pointer.
  2070. %pointer to * argument required
  2071. A pointer argument is required for this format specifier. Check the number
  2072. and order of format specifiers and corresponding arguments.
  2073. %pointer to non-static object returned
  2074. This function returns a pointer to a non-static (e.g. automatic)
  2075. variable. This is likely to be an error, since the storage associated
  2076. with automatic variables becomes invalid when the function returns.
  2077. %pop immediate illegal
  2078. It is not possible to pop into an immediate value.
  2079. %pop of allreg!!
  2080. This is an internal code generator error. Contact HI-TECH technical
  2081. support with full details of the code that caused this error.
  2082. %pop of register *
  2083. This is an internal code generator error. Contact HI-TECH technical
  2084. support with full details of the code that caused this error.
  2085. %popreg    - bad reg *(*)
  2086. This is an internal code generator error. Contact HI-TECH technical
  2087. support with full details of the code that caused this error.
  2088. %popreg - bad reg
  2089. This is an internal code generator error. Contact HI-TECH technical
  2090. support with full details of the code that caused this error.
  2091. %popreg - trying to pop * with 0* regbits - can't do it!
  2092. This is an internal code generator error. Contact HI-TECH technical
  2093. support with full details of the code that caused this error.
  2094. %portion of expression has no effect
  2095. Part of this expression has no side effects, and no effect on
  2096. the value of the expression.
  2097. %possible pointer truncation
  2098. A pointer qualifed "far" has been assigned to a default pointer or a
  2099. pointer qualified "near", or a default pointer has been assigned to
  2100. a pointer qualified "near". This may result in truncation of the
  2101. pointer and loss of information, depending on the memory model in
  2102. use.
  2103. %preprocessor assertion failure
  2104. The argument to a preprocessor #assert directive has evaluated
  2105. to zero. This is a programmer induced error.
  2106. %probable missing '}' in previous block
  2107. The compiler has encountered what looks like a function or other
  2108. declaration, but the preceding function has not been ended with a
  2109. closing brace. This probably means that a closing brace has been
  2110. omitted from somewhere in the previous function, although it may
  2111. well not be the last one.
  2112. %psect '*' re-orged
  2113. This psect has its address multiply defined. Check
  2114. the linker options.
  2115. %psect * cannot be in classes *
  2116. A psect cannot be in more than one class. This is either due to assembler
  2117. modules with conflicting class= options, or use of the -C option
  2118. to the linker.
  2119. %psect * in more than one group
  2120. This psect has been defined to be in more than one group.
  2121. %psect * not loaded on * boundary
  2122. This psect has a relocatability requirement that is not
  2123. met by the load address given in a -P option. For
  2124. example if a psect must be on a 4K byte boundary, you
  2125. could not start it at 100H.
  2126. %psect * not relocated on * boundary
  2127. This psect is not relocated on the required
  2128. boundary. Check the relocatability of the psect and correct
  2129. the -p option. if necessary.
  2130. %psect * not specified in -p option
  2131. This psect was not specified in a "-P" option to the linker. It has
  2132. been linked at the end of the program, which is probably not where
  2133. you wanted it.
  2134. %psect * re-orged
  2135. This psect has had its start address specified
  2136. more than once.
  2137. %psect * selector value redefined
  2138. The selector value for this psect has been defined more than once.
  2139. %psect * type redefined: *
  2140. This psect has had its type defined differently by different modules.
  2141. This probably means you are trying to link imcompatible object modules,
  2142. e.g. linking 386 flat model code with 8086 real mode code.
  2143. %psect exceeds max size: *
  2144. The psect has more bytes in it than the maximum allowed.
  2145. %psect is absolute: *
  2146. This psect is absolute and should not have an address specified in
  2147. a -P option.
  2148. %psect may not be local and global
  2149. A psect may not be declared to be local if it has already been declared to
  2150. be (default) global.
  2151. %psect origin multiply defined: *
  2152. The origin of this psect is defined more than once.
  2153. %psect property redefined
  2154. A property of a psect has been defined in more than place to be
  2155. different.
  2156. %psect reloc redefined
  2157. The relocatability of this psect has been defined differently
  2158. in two or more places.
  2159. %psect selector redefined
  2160. The selector associated with this psect has been defined differently
  2161. in two or more places.
  2162. %psect size redefined
  2163. The maximum size of this psect has been defined differently
  2164. in two or more places.
  2165. %push of allreg!!
  2166. This is an internal code generator error. Contact HI-TECH technical
  2167. support with full details of the code that caused this error.
  2168. %push of register *
  2169. This is an internal code generator error. Contact HI-TECH technical
  2170. support with full details of the code that caused this error.
  2171. %pushreg    - bad reg
  2172. This is an internal code generator error. Contact HI-TECH technical
  2173. support with full details of the code that caused this error.
  2174. %pushreg    - bad reg *(*)
  2175. This is an internal code generator error. Contact HI-TECH technical
  2176. support with full details of the code that caused this error.
  2177. %pushreg - trying to push * with 0* regbits - can't do it!
  2178. This is an internal code generator error. Contact HI-TECH technical
  2179. support with full details of the code that caused this error.
  2180. %radix value out of range
  2181. The value given for the current radix is out of range. It must
  2182. be between 2 and 16.
  2183. %read error on *
  2184. The linker encountered an error trying to read this file.
  2185. %record too long
  2186. This indicates that the object file is not a valid
  2187. HI-TECH object file.
  2188. %record too long: *
  2189. An object file contained a record with an illegal size.
  2190. This probably means the file is corrupted or not an object file.
  2191. %recursive function calls: 
  2192. These functions (or function) call each other recursively.
  2193. One or more of these functions has statically allocated
  2194. local variables (compiled stack). Either use the reentrant
  2195. keyword (if supported with this compiler) or recode to
  2196. avoid recursion.
  2197. %recursive macro definition of *
  2198. The named macro has been defined in such a manner that
  2199. expanding it causes a recursive expansion of itself!
  2200. %redefining macro *
  2201. The macro specified is being redefined, to something different
  2202. to the original definition. If you want to deliberately redefine
  2203. a macro, use #undef first to remove the original definition.
  2204. %redundant & applied to array
  2205. The address operator "&" has been applied to an array. Since using
  2206. the name of an array gives its address anyway, this is unnecessary
  2207. and has been ignored.
  2208. %reginit!!!???
  2209. This is an internal code generator error. Contact HI-TECH technical
  2210. support with full details of the code that caused this error.
  2211. %regused    - bad arg to g
  2212. This is an internal code generator error. Contact HI-TECH technical
  2213. support with full details of the code that caused this error.
  2214. %relocation error
  2215. It is not possible to add together two relocatable quantities. A constant
  2216. may be added to a relocatable value, and two relocatable addresses in the
  2217. same psect may be subtracted. An absolute value must be used in various
  2218. places where the assembler must know a value at assembly time.
  2219. %relocation offset * out of range 0..*
  2220. An object file contained a relocation record with a relocation offset
  2221. outside the range of the preceding text record. This means the object
  2222. file is probably corrupted.
  2223. %relocation too complex
  2224. The complex relocation in this expression is too big to be inserted
  2225. into the object file.
  2226. %remsym error
  2227. Internal error. Contact HI-TECH technical support.
  2228. %rept argument must be >= 0
  2229. The argument to a "REPT" directive must be greater than zero.
  2230. %restore without matching save
  2231. A restore (to restore options) has been done before a corresponding save.
  2232. %revlog - bad op
  2233. This is an internal code generator error. Contact HI-TECH technical
  2234. support with full details of the code that caused this error.
  2235. %save/restore too deep
  2236. The save directive has been used too many times without matching
  2237. restores.
  2238. %scale value invalid
  2239. The scale value in the operand is invalid. It may only be 1, 2, 4
  2240. or 8.
  2241. %scale value must be a constant
  2242. The scale value in an operand must be an absolute constant.
  2243. %seek error: *
  2244. The linker could not seek when writing an output file.
  2245. %segment * overlaps segment *
  2246. The named segments have overlapping code or data. Check the addresses being
  2247. assigned by the "-P" option.
  2248. %signatures do not match: *
  2249. The specified function has different signatures in different modules.
  2250. This means it has been declared differently, e.g. it may have been
  2251. prototyped in one module and not another. Check what declarations for
  2252. the function are visible in the two modules specified and make sure they
  2253. are compatible.
  2254. %signed bitfields not supported
  2255. Only unsigned bitfields are supported. If a bitfield is declared to
  2256. be type "int", the compiler still treats it as unsigned.
  2257. %simple integer expression required
  2258. A simple integral expression is required after the operator "@",
  2259. used to associate an absolute address with a variable.
  2260. %simple type required for *
  2261. A simple type (i.e. not an array or structure)is required as an operand to this operator.
  2262. %size error
  2263. You have attempted to store a value in a space that is too small, e.g. trying
  2264. to initialize a byte location with an address that is 16 bits.
  2265. %sizeof yields 0
  2266. The code generator has taken the size of an object and found
  2267. it to be zero. This almost certainly indicates an error
  2268. in your declaration of a pointer, e.g. you may have declared
  2269. a pointer to a zero length array. In general, pointers to arrays
  2270. are of little use. If you require a pointer to an array of objects
  2271. of unknown length, you only need a pointer to a single object
  2272. that can then be indexed or incremented.
  2273. %storage class illegal
  2274. A structure or union member may not be given a storage class. Its
  2275. storage class is determined by the storage class of the structure.
  2276. %storage class redeclared
  2277. A variable or function has been re-declared with a different storage
  2278. class. This can occur where there are two conflicting declarations,
  2279. or where an implicit declaration is followed by an actual
  2280. declaration.
  2281. %strange character * after ##
  2282. A character has been seen after the token catenation operator
  2283. ## that is neither a letter nor a digit. Since the result of this
  2284. operator must be a legal token, the operands must be tokens containing
  2285. only letters and digits.
  2286. %strange character after # *
  2287. There is an unexpected character after #.
  2288. %string expected
  2289. The operand to an "asm" statement must be a string enclosed in
  2290. parentheses.
  2291. %string too long
  2292. This string is too long. Shorten it.
  2293. %struct/union member expected
  2294. A structure or union member name must follow a dot (".") or arrow
  2295. ("->").
  2296. %struct/union redefined: *
  2297. A structure or union has been defined more than once.
  2298. %struct/union required
  2299. A structure or union identifier is required before a dot (".").
  2300. %struct/union tag or '{' expected
  2301. An identifier denoting a structure or union or an opening brace must
  2302. follow a "struct" or "union" keyword.
  2303. %structure too big for function return
  2304. The size of the structure type of this function is too big to allow
  2305. the code generator to generate code to return it.
  2306. %symbol * cannot be global
  2307. There is an error in an object file, where a local symbol has been
  2308. declared global. This is either an invalid object file, or an internal
  2309. error in the linker. Try recreating the object file.
  2310. %symbol * has erroneous psect: *
  2311. There is an error in an object file, where a symbol has an invalid psect.
  2312. This is either an invalid object file, or an internal
  2313. error in the linker. Try recreating the object file.
  2314. %symbol * is not external
  2315. This symbols is not external, and should not be in an EXTERN directive.
  2316. It is probably defined locally, and thus should be PUBLIC or GLOBAL.
  2317. %symbol * not defined in #undef
  2318. The symbol supplied as argument to #undef was not already defined.
  2319. This is a warning only, but could be avoided by including the
  2320. #undef in a #ifdef ... #endif block.
  2321. %syntax error
  2322. A syntax error has been detexted. This could be caused a number of things.
  2323. %syntax error in -a spec
  2324. The -A spec is invalid. A valid -A spec should be
  2325. something like:
  2326.  
  2327. -AROM=1000h-1FFFh
  2328. %syntax error in checksum list
  2329. There is a syntax error in a checksum list read by the linker. The
  2330. checksum list is read from standard input by the linker, in response
  2331. to an option. Re-read the manual on checksum listt.
  2332. %text does not start at 0
  2333. Code in some things must start at zero. Here it doesn't.
  2334. %text offset too low
  2335. You aren't likely to see this error. Rhubarb!
  2336. %text record has bad length: *
  2337. There is an error in an object file.
  2338. This is either an invalid object file, or an internal
  2339. error in the linker. Try recreating the object file.
  2340. %text record has length too small: *
  2341. This indicates that the object file is not a valid
  2342. HI-TECH object file.
  2343. %this function too large - try reducing level of optimization
  2344. A large function has been encountered when using a -Og (global
  2345. optimization) switch. Try re-compiling without the
  2346. global optimization, or reduce the size of the function.
  2347. %this is a struct
  2348. This identifier following a "union" or "enum" keyword is already the tag
  2349. for a structure, and thus should only follow the keyword "struct".
  2350. %this is a union
  2351. This identifier following a "struct" or "enum" keyword is already the tag
  2352. for a union, and thus should only follow the keyword "union".
  2353. %this is an enum
  2354. This identifier following a "struct" or "union" keyword is already the tag
  2355. for an enumerated type, and thus should only follow the keyword "enum".
  2356. %too few arguments
  2357. This function requires more arguments than are provided in this
  2358. call.
  2359. %too few arguments for format string
  2360. There are too few arguments for this format string. This would result
  2361. in a garbage value being printed or converted at run time.
  2362. %too many (*) enumeration constants
  2363. There are too many enumeration constants in an enumerated type.
  2364. The maximum number of enumerated constants allowed in an enumerated
  2365. type is 512.
  2366. %too many (*) structure members
  2367. There are too many members in a structure or union. The maximum number
  2368. of members allowed in one structure or union is 512.
  2369. %too many arguments
  2370. This function does not accept as many arguments as there are here.
  2371. %too many arguments for format string
  2372. There are too many arguments for this format string. This is harmless,
  2373. but may represent an incorrect format string.
  2374. %too many arguments for macro
  2375. A macro may only have up to 31 parameters, as per the C Standard.
  2376. %too many arguments in macro expansion
  2377. There were too many arguments supplied in a macro invocation.
  2378. The maximum number allowed is 31.
  2379. %too many cases in switch
  2380. There are too many case labels in this switch statement. The maximum
  2381. allowable number of case labels in any one switch statement is 511.
  2382. %too many comment lines - discarding
  2383. The compiler is generating assembler code with embedded comments,
  2384. but this function is so large that an excessive number of source
  2385. line comments are being generated. This has been suppressed so
  2386. that the optimizer will not run out of memory loading comment lines.
  2387. %too many errors
  2388. There were so many errors that the compiler has given up. Correct
  2389. the first few errors and many of the later ones will probably go away.
  2390. %too many include directories
  2391. A maximum of 7 directories may be specified for the preprocessor
  2392. to search for include files.
  2393. %too many initializers
  2394. There are too many initializers for this object. Check the number of
  2395. initializers against the object definition (array or structure).
  2396. %too many macro parameters
  2397. There are too many macro parameters on this macro definition.
  2398. %too many nested #* statements
  2399. #if, #ifdef etc. blocks may only be nested to a maximum
  2400. of 32.
  2401. %too many psect class specifications
  2402. There are too many psect class specifications (-C options)
  2403. %too many psect pragmas
  2404. Too many "pragma psect" directives have been used.
  2405. %too many psects
  2406. There are too many psects! Boy, what a program!
  2407. %too many qualifier names
  2408. There are too many qualifier names specified.
  2409. %too many relocation items
  2410. Objtohex filled up a table. This program is just way
  2411. too complex!
  2412. %too many segment fixups
  2413. There are too many segment fixups in the object file given to objtohex.
  2414. %too many segments
  2415. There are too many segments in the object file given to objtohex.
  2416. %too many symbols
  2417. There are too many symbols for the assemblers symbol table. Reduce the number
  2418. of symbols in your program. If it is the linker producing this error,
  2419. suggest changing some global to local symbols.
  2420. %too many temporary labels
  2421. There are too many temporary labels in this assembler file. The assembler
  2422. allows a maximum of 2000 temporary labels.
  2423. %too may symbols
  2424. There are too many symbols for the assemblers symbol table. Reduce the number
  2425. of symbols in your program.
  2426. %too much indirection
  2427. A pointer declaration may only have 16 levels of indirection.
  2428. %too much pushback
  2429. This error should not occur, and represents an internal
  2430. error in the preprocessor.
  2431. %type conflict
  2432. The operands of this operator are of incompatible types.
  2433. %type redeclared
  2434. The type of this function or object has been redeclared. This can
  2435. occur because of two incompatible declarations, or because an
  2436. implicit declaration is followed by an incompatible declaration.
  2437. %type specifier reqd. for proto arg
  2438. A type specifier is required for a prototyped argument. It is not
  2439. acceptable to just have an identifier.
  2440. %unbalanced paren's, op is *
  2441. The evaluation fo a #if expression found mismatched parentheses.
  2442. Check the expression for correct parenthesisation.
  2443. %undefined enum tag: *
  2444. This enum tag has not been defined.
  2445. %undefined identifier: *
  2446. This symbol has been used in the program, but has not been
  2447. defined or declared. Check for spelling errors.
  2448. %undefined label: *
  2449. This label has not been defined anywhere in the current function. Check
  2450. for spelling errors.
  2451. %undefined operand size
  2452. The size of the operand to this instruction was not defined.
  2453. Use ",byte" or ",word", or ",dword" as appropriate.
  2454. %undefined public symbol *
  2455. A symbol declared PUBLIC is not defined in this module. Use GLOBAL or EXTRN
  2456. or define the symbol.
  2457. %undefined shift (* bits)
  2458. An attempt has been made to shift a value by a number of bits equal to or
  2459. greater than the number of bits in the data type, e.g. shifting a long by
  2460. 32 bits. This will produce an undefined result on many processors. This is
  2461. non-portable code and is flagged as having undefined results by the C Standard.
  2462. %undefined struct/union
  2463. This structure or union tag is undefined. Check spelling etc.
  2464. %undefined struct/union: *
  2465. The specified structure or union tag is undefined. Check spelling
  2466. etc.
  2467. %undefined symbol *
  2468. The named symbol is not defined, and has not been specified "GLOBAL".
  2469. %undefined symbol * in #if, 0 used
  2470. A symbol on a #if expression was not a defined preprocessor
  2471. macro. For the purposes of this expression, its value has been
  2472. taken as zero.
  2473. %undefined symbol:
  2474. The symbol following is undefined at link time. This could be due
  2475. to spelling error, or failure to link an appropriate module.
  2476. %undefined symbols:
  2477. A list of symbols follows that were undefined at link time.
  2478. %undefined temporary label
  2479. A temporary label has been referenced that is not defined. Note that a temporary
  2480. label must have a number >= 0.
  2481. %undefined variable: *
  2482. This variable has been used but not defined at this point
  2483. %unexpected end of file
  2484. This probably means an object file has been truncated because of 
  2485. a lack of disk (or RAMdisk) space.
  2486. %unexpected eof
  2487. An end-of-file was encountered unexpectedly. Check syntax.
  2488. %unexpected text in #control line ignored
  2489. This warning occurs when extra characters appear on the end of
  2490. a control line, e.g.
  2491.  
  2492. #endif something
  2493.  
  2494. The "something" will be ignored, but a warning is issued. It is
  2495. preferable (and in accordance with Standard C) to enclose the
  2496. "something" as a comment, e.g.
  2497.  
  2498. #endif    /* something */
  2499. %unknown    predicate *
  2500. This is an internal code generator error. Contact HI-TECH technical
  2501. support with full details of the code that caused this error.
  2502. %unknown addressing mode
  2503. This addressing mode is not recognized by the assembler
  2504. %unknown arg to opt
  2505. This argument to OPT is not recognized.
  2506. %unknown arg type to lpsize
  2507. This is an internal code generator error. Contact HI-TECH technical
  2508. support with full details of the code that caused this error.
  2509. %unknown complex operator *
  2510. There is an error in an object file. This is either an invalid object
  2511. file, or an internal error in the linker. Try recreating the object file.
  2512. %unknown directive
  2513. This directive is not known to the assembler.
  2514. %unknown fnrec type *
  2515. This indicates that the object file is not a valid
  2516. HI-TECH object file.
  2517. %unknown option *
  2518. This option to the preprocessor is not recognized.
  2519. %unknown pragma *
  2520. An unknow pragma directive was encountered.
  2521. %unknown psect: *
  2522. This psect has been listed in a -P option, but is not defined
  2523. in any module within the program.
  2524. %unknown qualifier '*' given to -a
  2525. The -a option to P1 should have as its argument a defined qualifier name,
  2526. either a standard qualifier or a qualifier introduced with the -Q option.
  2527. %unknown record type: *
  2528. An invalid object module has been read by the linker. It is either
  2529. corrupted or not an object file.
  2530. %unknown symbol type *
  2531. The symbol type encountered is unknown to this linker.
  2532. Check that the correct linker is being used.
  2533. %unreachable code
  2534. This section of code will never be executed, because there is no
  2535. execution path by which it could be reached. Look for missing "break"
  2536. statements inside a control structure like "while" or "for".
  2537. %unreasonable matching depth
  2538. This is an internal code generator error. Contact HI-TECH technical
  2539. support with full details of the code that caused this error.
  2540. %unrecognized argument to opt
  2541. This argument to OPT is not recognized.
  2542. %unrecognized option to -o: *
  2543. The code generator has been given a -O option with an unknown
  2544. modifier.
  2545. %unrecognized option to -z: *
  2546. The code generator has been passed a -Z option it does not understand.
  2547. This should not happen if it is invoked with the standard driver.
  2548. %unrecognized qualifer name after 'strings'
  2549. The pragma 'strings' requires a list of valid qualifer names. For
  2550. example
  2551.  
  2552. #pragma    strings const code
  2553.  
  2554. would add const and code to the current string qualifiers. If no
  2555. qualifiers are specified, all qualification will be removed from
  2556. subsequent strings. The qualifer names must be recognized by the
  2557. compiler.
  2558. %unterminated #if[n][def] block from line *
  2559. A #if or similar block was not terminated with a matching
  2560. #endif. The line number is the line on which the #if block
  2561. began.
  2562. %unterminated macro arg
  2563. An argument to a macro is not terminated. Note that angle brackets ("<>") are
  2564. used to quote macro arguments. 
  2565. %unterminated string
  2566. A string constant appears not to have a closing quote missing.
  2567. %unterminated string in macro body
  2568. A macro definition contains a string that lacks a closing
  2569. quote.
  2570. %unused constant: *
  2571. This enumerated constant is never used. Maybe it isn't needed at all.
  2572. %unused enum: *
  2573. This enumerated type is never used. Maybe it isn't needed at all.
  2574. %unused label: *
  2575. This label is never used. Maybe it isn't needed at all.
  2576. %unused member: *
  2577. This structure member is never used. Maybe it isn't needed at all.
  2578. %unused structure: *
  2579. This structure tag is never used. Maybe it isn't needed at all.
  2580. %unused typedef: *
  2581. This typedef is never used. Maybe it isn't needed at all.
  2582. %unused union: *
  2583. This union type is never used. Maybe it isn't needed at all.
  2584. %unused variable declaration: *
  2585. This variable is never used. Maybe it isn't needed at all.
  2586. %unused variable definition: *
  2587. This variable is never used. Maybe it isn't needed at all.
  2588. %variable may be used before set: *
  2589. This variable may be used before it has been assigned a value. Since it is
  2590. an auto variable, this will result in it having a random value.
  2591. %void function cannot return value
  2592. A void function cannot return a value. Any "return" statement should
  2593. not be followed by an expression.
  2594. %while expected
  2595. The keyword "while" is expected at the end of a "do" statement.
  2596. %work buffer overflow *
  2597. An internal preprocessor buffer has been filled. This buffer has a
  2598. size of 4096 bytes.
  2599. %write error (out of disk space?) *
  2600. Probably means that the hard disk or RAM disk is
  2601. full.
  2602. %write error on *
  2603. A write error occured on the named file. This probably means you have
  2604. run out of disk space.
  2605. %write error on object file
  2606. An error was reported when the assembler was attempting to write an object file.
  2607. This probably means there is not enough disk space.
  2608. %wrong number of macro arguments for * - * instead of *
  2609. A macro has been invoked with the wrong number of arguments.
  2610. %{ expected
  2611. An opening brace was expected here.
  2612. %} expected
  2613. A closing brace was expected here.
  2614.